diff options
-rwxr-xr-x | src/plugins/dpdk/device/init.c | 6 | ||||
-rw-r--r-- | src/vnet/interface_output.c | 6 | ||||
-rw-r--r-- | src/vnet/lldp/lldp_cli.c | 6 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index 9602e93c54f..17e77618d62 100755 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -1268,9 +1268,9 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now) ed->new_link_state = (u8) xd->link.link_status; } - if ((xd->flags & DPDK_DEVICE_FLAG_ADMIN_UP) && - ((xd->link.link_status != 0) ^ - vnet_hw_interface_is_link_up (vnm, xd->hw_if_index))) + if ((xd->flags & (DPDK_DEVICE_FLAG_ADMIN_UP | DPDK_DEVICE_FLAG_BOND_SLAVE)) + && ((xd->link.link_status != 0) ^ + vnet_hw_interface_is_link_up (vnm, xd->hw_if_index))) { hw_flags_chg = 1; hw_flags |= (xd->link.link_status ? VNET_HW_INTERFACE_FLAG_LINK_UP : 0); diff --git a/src/vnet/interface_output.c b/src/vnet/interface_output.c index 3f45cb9f0ef..846eb57b95e 100644 --- a/src/vnet/interface_output.c +++ b/src/vnet/interface_output.c @@ -259,7 +259,8 @@ vnet_interface_output_node_flatten (vlib_main_t * vm, si = vnet_get_sw_interface (vnm, rt->sw_if_index); hi = vnet_get_sup_hw_interface (vnm, rt->sw_if_index); - if (!(si->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) || + if (!(si->flags & (VNET_SW_INTERFACE_FLAG_ADMIN_UP | + VNET_SW_INTERFACE_FLAG_BOND_SLAVE)) || !(hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP)) { vlib_simple_counter_main_t *cm; @@ -451,7 +452,8 @@ vnet_interface_output_node (vlib_main_t * vm, si = vnet_get_sw_interface (vnm, rt->sw_if_index); hi = vnet_get_sup_hw_interface (vnm, rt->sw_if_index); - if (!(si->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) || + if (!(si->flags & (VNET_SW_INTERFACE_FLAG_ADMIN_UP | + VNET_SW_INTERFACE_FLAG_BOND_SLAVE)) || !(hi->flags & VNET_HW_INTERFACE_FLAG_LINK_UP)) { vlib_simple_counter_main_t *cm; diff --git a/src/vnet/lldp/lldp_cli.c b/src/vnet/lldp/lldp_cli.c index af18f90f9bf..1933ca8c9e9 100644 --- a/src/vnet/lldp/lldp_cli.c +++ b/src/vnet/lldp/lldp_cli.c @@ -74,7 +74,8 @@ lldp_cfg_intf_set (u32 hw_if_index, u8 ** port_desc, int enable) const vnet_sw_interface_t *sw = vnet_get_sw_interface (lm->vnet_main, hi->sw_if_index); - if (sw->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP) + if (sw->flags & (VNET_SW_INTERFACE_FLAG_ADMIN_UP | + VNET_SW_INTERFACE_FLAG_BOND_SLAVE)) { lldp_schedule_intf (lm, n); } @@ -501,7 +502,8 @@ format_lldp_intfs_detail (u8 * s, vlib_main_t * vm, const lldp_main_t * lm) hw = vnet_get_hw_interface(vnm, n->hw_if_index); sw = vnet_get_sw_interface(lm->vnet_main, hw->sw_if_index); /* Interface shutdown */ - if (!(sw->flags & VNET_SW_INTERFACE_FLAG_ADMIN_UP)) + if (!(sw->flags & (VNET_SW_INTERFACE_FLAG_ADMIN_UP | + VNET_SW_INTERFACE_FLAG_BOND_SLAVE))) { s = format(s, "\nInterface name: %s\nInterface/peer state: " "interface down\nLast packet sent: %U\n", |