bond: crash when deleting bond interface
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.
@@ -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
