summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vnet/snap/node.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/vnet/snap/node.c b/src/vnet/snap/node.c
index 884ff32444b..9baa75002cb 100644
--- a/src/vnet/snap/node.c
+++ b/src/vnet/snap/node.c
@@ -128,8 +128,8 @@ snap_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);
oui0 = snap_header_get_oui (h0);
oui1 = snap_header_get_oui (h1);
@@ -140,11 +140,8 @@ snap_input (vlib_main_t * vm,
len0 = sizeof (h0[0]) - (is_ethernet0 ? sizeof (h0->protocol) : 0);
len1 = sizeof (h1[0]) - (is_ethernet1 ? sizeof (h1->protocol) : 0);
- b0->current_data += len0;
- b1->current_data += len1;
-
- b0->current_length -= len0;
- b1->current_length -= len1;
+ vlib_buffer_advance (b0, len0);
+ vlib_buffer_advance (b1, len1);
pi0 = snap_get_protocol_info (sm, h0);
pi1 = snap_get_protocol_info (sm, h1);
@@ -216,7 +213,7 @@ snap_input (vlib_main_t * vm,
b0 = vlib_get_buffer (vm, bi0);
- h0 = (void *) (b0->data + b0->current_data);
+ h0 = vlib_buffer_get_current (b0);
oui0 = snap_header_get_oui (h0);
@@ -224,9 +221,7 @@ snap_input (vlib_main_t * vm,
len0 = sizeof (h0[0]) - (is_ethernet0 ? sizeof (h0->protocol) : 0);
- b0->current_data += len0;
-
- b0->current_length -= len0;
+ vlib_buffer_advance (b0, len0);
pi0 = snap_get_protocol_info (sm, h0);