return s;
}
-vlib_node_registration_t nat66_out2in_node;
-
#define foreach_nat66_out2in_error \
_(OUT2IN_PACKETS, "good out2in packets processed") \
_(NO_TRANSLATION, "no translation") \
NAT66_OUT2IN_N_NEXT,
} nat66_out2in_next_t;
-static inline uword
-nat66_out2in_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
- vlib_frame_t * frame)
+VLIB_NODE_FN (nat66_out2in_node) (vlib_main_t * vm,
+ vlib_node_runtime_t * node,
+ vlib_frame_t * frame)
{
u32 n_left_from, *from, *to_next;
nat66_out2in_next_t next_index;
u32 pkts_processed = 0;
- u32 thread_index = vlib_get_thread_index ();
+ u32 thread_index = vm->thread_index;
nat66_main_t *nm = &nat66_main;
from = vlib_frame_vector_args (frame);
vlib_put_next_frame (vm, node, next_index, n_left_to_next);
}
- vlib_node_increment_counter (vm, nat66_out2in_node.index,
+ vlib_node_increment_counter (vm, nm->out2in_node_index,
NAT66_OUT2IN_ERROR_OUT2IN_PACKETS,
pkts_processed);
return frame->n_vectors;
/* *INDENT-OFF* */
VLIB_REGISTER_NODE (nat66_out2in_node) = {
- .function = nat66_out2in_node_fn,
.name = "nat66-out2in",
.vector_size = sizeof (u32),
.format_trace = format_nat66_out2in_trace,
};
/* *INDENT-ON* */
-VLIB_NODE_FUNCTION_MULTIARCH (nat66_out2in_node, nat66_out2in_node_fn);
-
/*
* fd.io coding-style-patch-verification: ON
*