diff options
Diffstat (limited to 'vnet/vnet/l2/l2_input.c')
-rw-r--r-- | vnet/vnet/l2/l2_input.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/vnet/vnet/l2/l2_input.c b/vnet/vnet/l2/l2_input.c index a42fcae059b..3d3d51f54b4 100644 --- a/vnet/vnet/l2/l2_input.c +++ b/vnet/vnet/l2/l2_input.c @@ -35,14 +35,8 @@ #include <vppinfra/cache.h> extern clib_error_t * -ethernet_arp_hw_interface_link_up_down (vnet_main_t * vnm, - u32 hw_if_index, - u32 flags); - -extern clib_error_t * -ip6_discover_neighbor_hw_interface_link_up_down (vnet_main_t * vnm, - u32 hw_if_index, - u32 flags); +vnet_per_buffer_interface_output_hw_interface_add_del ( + vnet_main_t * vnm, u32 hw_if_index, u32 is_create); // Feature graph node names static char * l2input_feat_names[] = { @@ -567,9 +561,9 @@ u32 set_int_l2_mode (vlib_main_t * vm, mac = *((u64 *)hi->hw_address); l2fib_del_entry (mac, config->bd_index); - // Let ARP and NDP know that the output node index changed - ethernet_arp_hw_interface_link_up_down(vnet_main, hi->hw_if_index, 0); - ip6_discover_neighbor_hw_interface_link_up_down(vnet_main, hi->hw_if_index, 0); + // Let interface-output node know that the output node index changed + vnet_per_buffer_interface_output_hw_interface_add_del( + vnet_main, hi->hw_if_index, 0); } l2_if_adjust--; } else if (config->xconnect) { @@ -653,10 +647,10 @@ u32 set_int_l2_mode (vlib_main_t * vm, // Disable learning by default. no use since l2fib entry is static. config->feature_bitmap &= ~L2INPUT_FEAT_LEARN; - // Let ARP and NDP know that the output_index_node changed so they - // can send requests via BVI to BD - ethernet_arp_hw_interface_link_up_down(vnet_main, hi->hw_if_index, 0); - ip6_discover_neighbor_hw_interface_link_up_down(vnet_main, hi->hw_if_index, 0); + // Let interface-output node know that the output node index changed + // so output can be sent via BVI to BD + vnet_per_buffer_interface_output_hw_interface_add_del( + vnet_main, hi->hw_if_index, 0); } // Add interface to bridge-domain flood vector |