From 93dd1da259fba344b4620a5241b74be5de8bd254 Mon Sep 17 00:00:00 2001 From: John Lo Date: Thu, 14 May 2020 15:02:16 -0400 Subject: l2: L2/L3 mode swicth cleanup and l2-patch fix Cleanup L2/L3 mode switch to not redirect to/from ethernet-input node as it is no longer necessary. L2 patch should use sw_if_index for device feature enable/disable. Type: fix Signed-off-by: John Lo Change-Id: I0f24161d027b07c188fd1e05276146f94c075710 (cherry picked from commit f415a3b53a51b261d08cc3312c25f250d6bc1bd6) --- src/vnet/l2/l2_input.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) (limited to 'src/vnet/l2/l2_input.c') diff --git a/src/vnet/l2/l2_input.c b/src/vnet/l2/l2_input.c index 7b93fba20b1..8a7ab802175 100644 --- a/src/vnet/l2/l2_input.c +++ b/src/vnet/l2/l2_input.c @@ -800,9 +800,6 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */ config->feature_bitmap &= ~(L2INPUT_FEAT_LEARN | L2INPUT_FEAT_FWD | L2INPUT_FEAT_FLOOD); shg = 0; /* not used in xconnect */ - - /* Insure all packets go to ethernet-input */ - ethernet_set_rx_redirect (vnet_main, hi, 1); } /* set up split-horizon group and set output feature bit */ @@ -827,25 +824,18 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */ { if ((hi->l2_if_count == 1) && (l2_if_adjust == 1)) { - /* Just added first L2 interface on this port */ - - /* Set promiscuous mode on the l2 interface */ + /* Just added first L2 interface on this port + * Set promiscuous mode on the l2 interface */ ethernet_set_flags (vnet_main, hi->hw_if_index, ETHERNET_INTERFACE_FLAG_ACCEPT_ALL); - - /* ensure all packets go to ethernet-input */ - ethernet_set_rx_redirect (vnet_main, hi, 1); - } else if ((hi->l2_if_count == 0) && (l2_if_adjust == -1)) { - /* Just removed only L2 subinterface on this port */ - - /* Disable promiscuous mode on the l2 interface */ - ethernet_set_flags (vnet_main, hi->hw_if_index, 0); + /* Just removed only L2 subinterface on this port + * Disable promiscuous mode on the l2 interface */ + ethernet_set_flags (vnet_main, hi->hw_if_index, + /*ETHERNET_INTERFACE_FLAG_DEFAULT_L3 */ 0); - /* Allow ip packets to go directly to ip4-input etc */ - ethernet_set_rx_redirect (vnet_main, hi, 0); } } -- cgit 1.2.3-korg