diff options
author | Steven <sluong@cisco.com> | 2018-09-24 21:09:36 -0700 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2018-09-25 07:41:23 +0000 |
commit | 5967bafdf541beaf546ff868f28dbf0b5f8ec9bb (patch) | |
tree | 77f0d7c232a6e97aaf0f6621042483525f2e0db1 /src/vnet/bonding | |
parent | 8812a68062016e622b33cbae6a21bc073caa918e (diff) |
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 <sluong@cisco.com>
Diffstat (limited to 'src/vnet/bonding')
-rw-r--r-- | src/vnet/bonding/cli.c | 7 |
1 files changed, 5 insertions, 2 deletions
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 |