bonding: feature arc may not be enabled for the slave interface

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
(cherry picked from commit 1a41a35b27da6921d6d86a9f1ad5f1b46e1185f7)
This commit is contained in:
Steven Luong 2019-10-09 10:29:47 -07:00 committed by Andrew Yourtchenko
parent e36e5cbac4
commit eb0cea6919

View File

@ -280,7 +280,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,
@ -696,7 +696,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)
{