summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xvnet/vnet/ethernet/node.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/vnet/vnet/ethernet/node.c b/vnet/vnet/ethernet/node.c
index c48e3f4237b..6d57da31708 100755
--- a/vnet/vnet/ethernet/node.c
+++ b/vnet/vnet/ethernet/node.c
@@ -394,16 +394,18 @@ ethernet_input_inline (vlib_main_t * vm,
subint0 = &intf0->untagged_subint;
cached_is_l2 = is_l20 = subint0->flags & SUBINT_CONFIG_L2;
}
+
+ vnet_buffer (b0)->ethernet.start_of_ethernet_header =
+ b0->current_data;
+ vnet_buffer (b1)->ethernet.start_of_ethernet_header =
+ b1->current_data;
+
if (PREDICT_TRUE (is_l20 != 0))
{
next0 = em->l2_next;
vnet_buffer (b0)->l2.l2_len = sizeof (ethernet_header_t);
- vnet_buffer (b0)->ethernet.start_of_ethernet_header =
- b0->current_data;
next1 = em->l2_next;
vnet_buffer (b1)->l2.l2_len = sizeof (ethernet_header_t);
- vnet_buffer (b1)->ethernet.start_of_ethernet_header =
- b1->current_data;
}
else
{
@@ -606,12 +608,14 @@ ethernet_input_inline (vlib_main_t * vm,
subint0 = &intf0->untagged_subint;
cached_is_l2 = is_l20 = subint0->flags & SUBINT_CONFIG_L2;
}
+
+ vnet_buffer (b0)->ethernet.start_of_ethernet_header =
+ b0->current_data;
+
if (PREDICT_TRUE (is_l20 != 0))
{
next0 = em->l2_next;
vnet_buffer (b0)->l2.l2_len = sizeof (ethernet_header_t);
- vnet_buffer (b0)->ethernet.start_of_ethernet_header =
- b0->current_data;
}
else
{