b0 = vlib_get_buffer (vm, bi0);
b1 = vlib_get_buffer (vm, bi1);
- h0 = (void *) (b0->data + b0->current_data);
- h1 = (void *) (b1->data + b1->current_data);
+ h0 = vlib_buffer_get_current (b0);
+ h1 = vlib_buffer_get_current (b1);
- b0->current_data += sizeof (h0[0]);
- b1->current_data += sizeof (h1[0]);
-
- b0->current_length -= sizeof (h0[0]);
- b1->current_length -= sizeof (h1[0]);
+ vlib_buffer_advance (b0, sizeof (ppp_header_t));
+ vlib_buffer_advance (b1, sizeof (ppp_header_t));
/* Index sparse array with network byte order. */
protocol0 = h0->protocol;
b0 = vlib_get_buffer (vm, bi0);
- h0 = (void *) (b0->data + b0->current_data);
+ h0 = vlib_buffer_get_current (b0);
- b0->current_data += sizeof (h0[0]);
- b0->current_length -= sizeof (h0[0]);
+ vlib_buffer_advance (b0, sizeof (ppp_header_t));
protocol0 = h0->protocol;
i0 = sparse_vec_index (rt->next_by_protocol, protocol0);
/* *INDENT-ON* */
static clib_error_t *
-ppp_input_init (vlib_main_t * vm)
+ppp_input_runtime_init (vlib_main_t * vm)
{
ppp_input_runtime_t *rt;
- {
- clib_error_t *error = vlib_call_init_function (vm, ppp_init);
- if (error)
- clib_error_report (error);
- }
-
- ppp_setup_node (vm, ppp_input_node.index);
-
rt = vlib_node_get_runtime_data (vm, ppp_input_node.index);
rt->next_by_protocol = sparse_vec_new
return 0;
}
+static clib_error_t *
+ppp_input_init (vlib_main_t * vm)
+{
+
+ {
+ clib_error_t *error = vlib_call_init_function (vm, ppp_init);
+ if (error)
+ clib_error_report (error);
+ }
+
+ ppp_setup_node (vm, ppp_input_node.index);
+ ppp_input_runtime_init (vm);
+
+ return 0;
+}
+
VLIB_INIT_FUNCTION (ppp_input_init);
+VLIB_WORKER_INIT_FUNCTION (ppp_input_runtime_init);
void
ppp_register_input_protocol (vlib_main_t * vm,