From: Steven Date: Tue, 25 Sep 2018 04:09:36 +0000 (-0700) Subject: bond: crash when deleting bond interface [VPP-1427] X-Git-Tag: v18.10-rc1~128 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=5967bafdf541beaf546ff868f28dbf0b5f8ec9bb;p=vpp.git 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 --- 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