#include <vppinfra/error.h>
#include <vppinfra/elog.h>
-vlib_node_registration_t p2p_ethernet_input_node;
+extern vlib_node_registration_t p2p_ethernet_input_node;
/* packet trace format function */
-u8 *
+static u8 *
format_p2p_ethernet_trace (u8 * s, va_list * args)
{
CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *);
#undef _
};
-static uword
-p2p_ethernet_input_node_fn (vlib_main_t * vm,
- vlib_node_runtime_t * node, vlib_frame_t * frame)
+VLIB_NODE_FN (p2p_ethernet_input_node) (vlib_main_t * vm,
+ vlib_node_runtime_t * node,
+ vlib_frame_t * frame)
{
u32 thread_index = vm->thread_index;
u32 n_trace = vlib_get_trace_count (vm, node);
en1 = vlib_buffer_get_current (b1);
sw_if_index1 = vnet_buffer (b1)->sw_if_index[VLIB_RX];
- vnet_feature_next (sw_if_index0, &next0, b0);
- vnet_feature_next (sw_if_index1, &next1, b1);
+ vnet_feature_next (&next0, b0);
+ vnet_feature_next (&next1, b1);
rx0 = p2p_ethernet_lookup (sw_if_index0, en0->src_address);
rx1 = p2p_ethernet_lookup (sw_if_index1, en1->src_address);
en0 = vlib_buffer_get_current (b0);
sw_if_index0 = vnet_buffer (b0)->sw_if_index[VLIB_RX];
- vnet_feature_next (sw_if_index0, &next0, b0);
+ vnet_feature_next (&next0, b0);
rx0 = p2p_ethernet_lookup (sw_if_index0, en0->src_address);
if (rx0 != ~0)
/* *INDENT-OFF* */
VLIB_REGISTER_NODE (p2p_ethernet_input_node) = {
- .function = p2p_ethernet_input_node_fn,
.name = "p2p-ethernet-input",
.vector_size = sizeof (u32),
.format_trace = format_p2p_ethernet_trace,
.type = VLIB_NODE_TYPE_INTERNAL,
+ .flags = VLIB_NODE_FLAG_TRACE_SUPPORTED,
.n_errors = ARRAY_LEN(p2p_ethernet_error_strings),
.error_strings = p2p_ethernet_error_strings,
};
/* *INDENT-ON* */
-VLIB_NODE_FUNCTION_MULTIARCH (p2p_ethernet_input_node,
- p2p_ethernet_input_node_fn)
/*
* fd.io coding-style-patch-verification: ON
*