*/
int adj_per_adj_counters;
+const ip46_address_t ADJ_BCAST_ADDR = {
+ .ip6 = {
+ .as_u64[0] = 0xffffffffffffffff,
+ .as_u64[1] = 0xffffffffffffffff,
+ },
+};
+
always_inline void
adj_poison (ip_adjacency_t * adj)
{
/* FALL THROUGH */
case IP_LOOKUP_NEXT_ARP:
case IP_LOOKUP_NEXT_REWRITE:
+ case IP_LOOKUP_NEXT_BCAST:
/*
* complete and incomplete nbr adjs
*/
adj = adj_get(ai);
- vnet_rewrite_update_mtu (vnet_get_main(),
+ vnet_rewrite_update_mtu (vnet_get_main(), adj->ia_link,
&adj->rewrite_header);
return (ADJ_WALK_RC_CONTINUE);
}
-void
-adj_mtu_update (u32 sw_if_index)
+static void
+adj_mtu_update (vnet_main_t * vnm, u32 sw_if_index, u32 flags)
{
- /*
- * Walk all the adjacencies on the interface to update the cached MTU
- */
- adj_walk (sw_if_index, adj_mtu_update_walk_cb, NULL);
+ adj_walk (sw_if_index, adj_mtu_update_walk_cb, NULL);
}
+VNET_SW_INTERFACE_MTU_CHANGE_FUNCTION(adj_mtu_update);
+
/**
* @brief Walk the Adjacencies on a given interface
*/