bond: crash when deleting bond interface [VPP-1427] 65/14965/3
authorSteven <sluong@cisco.com>
Tue, 25 Sep 2018 04:09:36 +0000 (21:09 -0700)
committerDamjan Marion <dmarion@me.com>
Tue, 25 Sep 2018 07:41:23 +0000 (07:41 +0000)
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>
src/vnet/bonding/cli.c

index 91c6e2c..83a512e 100644 (file)
@@ -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