From dc2abbe5ccd58d91793bfbe7de04f883057a67d3 Mon Sep 17 00:00:00 2001 From: Steven Luong Date: Tue, 28 Jul 2020 12:28:03 -0700 Subject: bonding: toggle bond admin state may cause hw link state to down For bond interface, we set hardware link state to up initially when admin state is set to up. Thereafter, if we toggle the admin state to down and up, we require at least one active member in the bond prior to bringing up the hardware state which is inconsistent. The fix is to remove the unnecessary condition. This is a rework of the original proposed patch which is more complex and could be tricky to get it right https://gerrit.fd.io/r/c/vpp/+/27141 Type: fix Signed-off-by: Steven Luong Change-Id: I65f4fee55299b5b4d5645f6e05e1be15b46b73cd --- src/vnet/bonding/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/vnet') diff --git a/src/vnet/bonding/device.c b/src/vnet/bonding/device.c index 38759eed1ef..bc185867c10 100644 --- a/src/vnet/bonding/device.c +++ b/src/vnet/bonding/device.c @@ -132,7 +132,7 @@ bond_interface_admin_up_down (vnet_main_t * vnm, u32 hw_if_index, u32 flags) bond_if_t *bif = pool_elt_at_index (bm->interfaces, hif->dev_instance); bif->admin_up = is_up; - if (is_up && vec_len (bif->active_members)) + if (is_up) vnet_hw_interface_set_flags (vnm, bif->hw_if_index, VNET_HW_INTERFACE_FLAG_LINK_UP); return 0; -- cgit 1.2.3-korg