bonding: feature arc may not be enabled for the slave interface 34/22634/3
authorSteven Luong <sluong@cisco.com>
Wed, 9 Oct 2019 17:29:47 +0000 (10:29 -0700)
committerDave Barach <openvpp@barachs.net>
Fri, 11 Oct 2019 10:30:56 +0000 (10:30 +0000)
vnet_feature_enable_disable takes sw_if_index, not hw_if_index. If there
is a subinterface created prior to the slave interface is created,
sw_if_index and hw_if_index start to diverge and the problem will happen.

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I11e1f099378832f83b748526c6cbeb56960fad3c

src/vnet/bonding/cli.c

index 604cb80..6d0245d 100644 (file)
@@ -287,7 +287,7 @@ 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);
+                              sif->sw_if_index, 0, 0, 0);
 
   /* Put back the old mac */
   vnet_hw_interface_change_mac_address (vnm, sif_hw->hw_if_index,
@@ -703,7 +703,7 @@ bond_enslave (vlib_main_t * vm, bond_enslave_args_t * args)
   }
 
   args->rv = vnet_feature_enable_disable ("device-input", "bond-input",
-                                         sif_hw->hw_if_index, 1, 0, 0);
+                                         sif->sw_if_index, 1, 0, 0);
 
   if (args->rv)
     {