From 5967bafdf541beaf546ff868f28dbf0b5f8ec9bb Mon Sep 17 00:00:00 2001 From: Steven Date: Mon, 24 Sep 2018 21:09:36 -0700 Subject: bond: crash when deleting bond interface [VPP-1427] After the slave interface is removed from bond, bond input node still receives traffic for the slave interface. We have to disable feature arc for the corresponding slave interface. Change-Id: I44e7001e6685e290b032c48147d02911a55d547b Signed-off-by: Steven --- src/vnet/bonding/cli.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/vnet/bonding/cli.c') diff --git a/src/vnet/bonding/cli.c b/src/vnet/bonding/cli.c index 91c6e2cdb7d..83a512ea8bc 100644 --- a/src/vnet/bonding/cli.c +++ b/src/vnet/bonding/cli.c @@ -176,14 +176,17 @@ bond_delete_neighbor (vlib_main_t * vm, bond_if_t * bif, slave_if_t * sif) bond_disable_collecting_distributing (vm, sif); + vnet_feature_enable_disable ("device-input", "bond-input", + sif_hw->hw_if_index, 0, 0, 0); + /* Put back the old mac */ vnet_hw_interface_change_mac_address (vnm, sif_hw->hw_if_index, sif->persistent_hw_address); - pool_put (bm->neighbors, sif); - if ((bif->mode == BOND_MODE_LACP) && bm->lacp_enable_disable) (*bm->lacp_enable_disable) (vm, bif, sif, 0); + + pool_put (bm->neighbors, sif); } int -- cgit 1.2.3-korg