adj->lookup_next_index = IP_LOOKUP_NEXT_MCAST;
adj->ia_nh_proto = proto;
adj->ia_link = link_type;
+ adj->ia_node_index = adj_get_mcast_node(proto);
adj_mcasts[proto][sw_if_index] = adj_get_index(adj);
adj_lock(adj_get_index(adj));
vnet_rewrite_init(vnm, sw_if_index, link_type,
- adj_get_mcast_node(proto),
+ adj->ia_node_index,
vnet_tx_node_index_for_sw_interface(vnm, sw_if_index),
&adj->rewrite_header);
*/
vnet_update_adjacency_for_sw_interface(vnm, sw_if_index,
adj_get_index(adj));
+
+ adj_delegate_adj_created(adj);
}
else
{
adj_lock(adj_get_index(adj));
}
- adj_delegate_adj_created(adj);
-
return (adj_get_index(adj));
}
.dv_unlock = adj_dpo_unlock,
.dv_format = format_adj_mcast,
.dv_get_urpf = adj_dpo_get_urpf,
+ .dv_get_mtu = adj_dpo_get_mtu,
};
const static dpo_vft_t adj_mcast_midchain_dpo_vft = {
.dv_lock = adj_dpo_lock,
.dv_unlock = adj_dpo_unlock,
.dv_format = format_adj_mcast_midchain,
.dv_get_urpf = adj_dpo_get_urpf,
+ .dv_get_mtu = adj_dpo_get_mtu,
};
/**