aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/lisp-gpe/interface.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-05-05 00:24:16 -0700
committerDave Barach <openvpp@barachs.net>2017-05-07 14:29:29 +0000
commit9e79be2b20ba851ef0b31a9b2687e3b08d74456f (patch)
tree38fac9f0d82759d2008d09642fc1ab859a0c2f4d /src/vnet/lisp-gpe/interface.c
parentc8343412ee0deaa8e9192cbc4846aae1e9f48a4d (diff)
Remove L2 GPE interface from bridge when deleting, VPP-833
Change-Id: I32725006e9235a02cada5b0ad8974bfc4274339f Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/lisp-gpe/interface.c')
-rw-r--r--src/vnet/lisp-gpe/interface.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vnet/lisp-gpe/interface.c b/src/vnet/lisp-gpe/interface.c
index 0598c048cf5..ff750563c53 100644
--- a/src/vnet/lisp-gpe/interface.c
+++ b/src/vnet/lisp-gpe/interface.c
@@ -705,6 +705,7 @@ void
lisp_gpe_del_l2_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id)
{
tunnel_lookup_t *l2_ifaces = &lgm->l2_ifaces;
+ vnet_hw_interface_t *hi;
u32 bd_index = bd_find_index (&bd_main, bd_id);
ASSERT (bd_index != ~0);
@@ -716,6 +717,11 @@ lisp_gpe_del_l2_iface (lisp_gpe_main_t * lgm, u32 vni, u32 bd_id)
bd_id);
return;
}
+
+ /* Remove interface from bridge .. by enabling L3 mode */
+ hi = vnet_get_hw_interface (lgm->vnet_main, hip[0]);
+ set_int_l2_mode (lgm->vlib_main, lgm->vnet_main, MODE_L3, hi->sw_if_index,
+ 0, 0, 0, 0);
lisp_gpe_remove_iface (lgm, hip[0], bd_index, &lgm->l2_ifaces);
}