aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/l2/l2_input.c
diff options
context:
space:
mode:
authorNeale Ranns <neale.ranns@cisco.com>2018-04-09 01:53:01 -0700
committerNeale Ranns <nranns@cisco.com>2018-04-11 14:59:16 +0000
commit1a2b9e6d73876f7c420184b78d46e14f586402bc (patch)
tree6474008155dc78cfae38e21fda452416e9035056 /src/vnet/l2/l2_input.c
parent70e1ae2659717a4db1a1795bbf28227e1ba7b4c2 (diff)
L2: no-flood interface type in the Bridge-Domain
Change-Id: I50ff0cacf88182f8e0be19840c50f4954de586e2 Signed-off-by: Neale Ranns <neale.ranns@cisco.com> (cherry picked from commit 87dad11c8717735479e57cf6c065c7a7963c3aa3)
Diffstat (limited to 'src/vnet/l2/l2_input.c')
-rw-r--r--src/vnet/l2/l2_input.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/vnet/l2/l2_input.c b/src/vnet/l2/l2_input.c
index 5d16b1ddc9e..c2df5acb3b2 100644
--- a/src/vnet/l2/l2_input.c
+++ b/src/vnet/l2/l2_input.c
@@ -579,6 +579,8 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */
/* undo any BVI-related config */
if (bd_config->bvi_sw_if_index == sw_if_index)
{
+ vnet_sw_interface_t *si;
+
bd_config->bvi_sw_if_index = ~0;
config->bvi = 0;
@@ -591,6 +593,10 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */
"ethernet-input",
VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT);
ASSERT (slot == VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT);
+
+ /* since this is a no longer BVI interface do not to flood to it */
+ si = vnet_get_sw_interface (vnm, sw_if_index);
+ si->flood_class = VNET_FLOOD_CLASS_NO_FLOOD;
}
/* Clear MACs learned on the interface */
@@ -673,6 +679,8 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */
/* Do BVI interface initializations */
if (bvi)
{
+ vnet_sw_interface_t *si;
+
/* ensure BD has no bvi interface (or replace that one with this??) */
if (bd_config->bvi_sw_if_index != ~0)
{
@@ -693,6 +701,10 @@ set_int_l2_mode (vlib_main_t * vm, vnet_main_t * vnet_main, /* */
"l2-input",
VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT);
ASSERT (slot == VNET_SIMULATED_ETHERNET_TX_NEXT_ETHERNET_INPUT);
+
+ /* since this is a BVI interface we want to flood to it */
+ si = vnet_get_sw_interface (vnm, sw_if_index);
+ si->flood_class = VNET_FLOOD_CLASS_BVI;
}
/* Add interface to bridge-domain flood vector */