Track number of ethernet vlans in a frame
[vpp.git] / vnet / vnet / classify / ip_classify.c
index 55c08e0..8152f6c 100644 (file)
@@ -104,11 +104,13 @@ ip_classify_inline (vlib_main_t * vm,
         
       bi0 = from[0];
       b0 = vlib_get_buffer (vm, bi0);
-      h0 = b0->data;
+      h0 = (void *)vlib_buffer_get_current(b0) -
+                ethernet_buffer_header_size(b0);
 
       bi1 = from[1];
       b1 = vlib_get_buffer (vm, bi1);
-      h1 = b1->data;
+      h1 = (void *)vlib_buffer_get_current(b1) -
+                ethernet_buffer_header_size(b1);
         
       adj_index0 = vnet_buffer (b0)->ip.adj_index[VLIB_TX];
       adj0 = ip_get_adjacency (lm, adj_index0);
@@ -152,7 +154,8 @@ ip_classify_inline (vlib_main_t * vm,
 
       bi0 = from[0];
       b0 = vlib_get_buffer (vm, bi0);
-      h0 = b0->data;
+      h0 = (void *)vlib_buffer_get_current(b0) -
+                ethernet_buffer_header_size(b0);
         
       adj_index0 = vnet_buffer (b0)->ip.adj_index[VLIB_TX];
       adj0 = ip_get_adjacency (lm, adj_index0);