Add support for transparent ethernet bridging to GRE
[vpp.git] / vnet / vnet / ethernet / node.c
index 74d4f47..a8a4fcd 100644 (file)
@@ -238,7 +238,8 @@ determine_next_node (ethernet_main_t * em,
     {
       *next0 = em->l2_next;
       // record the L2 len and reset the buffer so the L2 header is preserved
-      vnet_buffer (b0)->l2.l2_len = b0->current_data;
+      u32 eth_start = vnet_buffer (b0)->ethernet.start_of_ethernet_header;
+      vnet_buffer (b0)->l2.l2_len = b0->current_data - eth_start;
       vlib_buffer_advance (b0, -ethernet_buffer_header_size (b0));
 
       // check for common IP/MPLS ethertypes