diff options
author | John Lo <loj@cisco.com> | 2017-07-12 19:56:45 -0400 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2017-07-13 11:42:29 +0000 |
commit | bea5ebf205e0bec922bf26c6c1a6a9392b4cad67 (patch) | |
tree | 62d0ee611310f94c29697b886d0626d1d264f87d /src/vnet/l2/l2_fib.c | |
parent | e0c6670eba118c26007ce05ec51f1b9c3022a083 (diff) |
Fix crash with worker threads on 4K VXLAN/BD setup (VPP-907)
Cleanup mapping of interface output node for the l2-output node
when interface is configured to L2 or L3 modes. The mapping is
now always done in the main thread as part of API/CLI processing,
instead of initiate mapping in the forwarding path which can be
in the worker threads.
Change-Id: Ia789493e7d9f5c76d68edfaf34db43f3e3f53506
Signed-off-by: John Lo <loj@cisco.com>
Diffstat (limited to 'src/vnet/l2/l2_fib.c')
-rw-r--r-- | src/vnet/l2/l2_fib.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/vnet/l2/l2_fib.c b/src/vnet/l2/l2_fib.c index 6f8f6e06330..4ed16987404 100644 --- a/src/vnet/l2/l2_fib.c +++ b/src/vnet/l2/l2_fib.c @@ -413,6 +413,13 @@ l2fib_add (vlib_main_t * vm, } } + if (vec_len (l2input_main.configs) <= sw_if_index) + { + error = clib_error_return (0, "Interface sw_if_index %d not in L2 mode", + sw_if_index); + goto done; + } + if (filter_mac) l2fib_add_filter_entry (mac, bd_index); else |