nat: nat44-ed add session timing out indicator in api
[vpp.git] / src / vnet / ppp / node.c
index 2f6e0c3..eead2b2 100644 (file)
@@ -139,14 +139,11 @@ ppp_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);
 
-         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;
@@ -227,10 +224,9 @@ ppp_input (vlib_main_t * vm,
 
          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);
@@ -315,6 +311,17 @@ ppp_input_runtime_init (vlib_main_t * vm)
   return 0;
 }
 
+static void
+ppp_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_ppp_header_with_length;
+  n->unformat_buffer = unformat_ppp_header;
+  pn->unformat_edit = unformat_pg_ppp_header;
+}
+
 static clib_error_t *
 ppp_input_init (vlib_main_t * vm)
 {