vcl: refactor want deq ntf checks for null fifos
[vpp.git] / src / vnet / osi / node.c
index 12075aa..4eb3e46 100644 (file)
@@ -131,8 +131,8 @@ osi_input (vlib_main_t * vm,
          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);
 
          next0 = lm->input_next_by_protocol[h0->protocol];
          next1 = lm->input_next_by_protocol[h1->protocol];
@@ -201,7 +201,7 @@ osi_input (vlib_main_t * vm,
 
          b0 = vlib_get_buffer (vm, bi0);
 
-         h0 = (void *) (b0->data + b0->current_data);
+         h0 = vlib_buffer_get_current (b0);
 
          next0 = lm->input_next_by_protocol[h0->protocol];
 
@@ -262,6 +262,17 @@ VLIB_REGISTER_NODE (osi_input_node) = {
 };
 /* *INDENT-ON* */
 
+static void
+osi_setup_node (vlib_main_t *vm, u32 node_index)
+{
+  vlib_node_t *n = vlib_get_node (vm, node_index);
+  pg_node_t *pn = pg_get_node (node_index);
+
+  n->format_buffer = format_osi_header_with_length;
+  n->unformat_buffer = unformat_osi_header;
+  pn->unformat_edit = unformat_pg_osi_header;
+}
+
 static clib_error_t *
 osi_input_init (vlib_main_t * vm)
 {