u8 extracted;
} dhcp_client_detect_trace_t;
-static uword
-dhcp_client_detect_node_fn (vlib_main_t * vm,
- vlib_node_runtime_t * node, vlib_frame_t * frame)
+VLIB_NODE_FN (dhcp_client_detect_node) (vlib_main_t * vm,
+ vlib_node_runtime_t * node,
+ vlib_frame_t * frame)
{
dhcp_client_detect_next_t next_index;
u16 dhcp_client_port_network_order;
/*
* This loop is optimised not so we can really quickly process DHCp
* offers... but so we can quickly sift them out when the interface
- * is also receving 'normal' packets
+ * is also receiving 'normal' packets
*/
while (n_left_from >= 8 && n_left_to_next >= 4)
{
ip2 = vlib_buffer_get_current (b2);
ip3 = vlib_buffer_get_current (b2);
- vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
- &next0, b0);
- vnet_feature_next (vnet_buffer (b1)->sw_if_index[VLIB_TX],
- &next1, b1);
- vnet_feature_next (vnet_buffer (b2)->sw_if_index[VLIB_TX],
- &next2, b2);
- vnet_feature_next (vnet_buffer (b3)->sw_if_index[VLIB_TX],
- &next3, b3);
+ vnet_feature_next (&next0, b0);
+ vnet_feature_next (&next1, b1);
+ vnet_feature_next (&next2, b2);
+ vnet_feature_next (&next3, b3);
if (ip0->protocol == IP_PROTOCOL_UDP)
{
* assigned) we are looking for the preverbial needle in the haystack
* so assume the packet is not the one we are looking for.
*/
- vnet_feature_next (vnet_buffer (b0)->sw_if_index[VLIB_TX],
- &next0, b0);
+ vnet_feature_next (&next0, b0);
/*
* all we are looking for here is DHCP/BOOTP packet-to-client
/* *INDENT-OFF* */
VLIB_REGISTER_NODE (dhcp_client_detect_node) = {
- .function = dhcp_client_detect_node_fn,
.name = "ip4-dhcp-client-detect",
.vector_size = sizeof (u32),
.format_trace = format_dhcp_client_detect_trace,
},
};
-VLIB_NODE_FUNCTION_MULTIARCH (dhcp_client_detect_node,
- dhcp_client_detect_node_fn);
-
VNET_FEATURE_INIT (ip4_dvr_reinject_feat_node, static) =
{
.arc_name = "ip4-unicast",