summaryrefslogtreecommitdiffstats
path: root/src/vnet/adj/adj_l2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/adj/adj_l2.c')
-rw-r--r--src/vnet/adj/adj_l2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vnet/adj/adj_l2.c b/src/vnet/adj/adj_l2.c
index 132ceb28168..09bf468ac40 100644
--- a/src/vnet/adj/adj_l2.c
+++ b/src/vnet/adj/adj_l2.c
@@ -91,6 +91,11 @@ adj_l2_rewrite_inline (vlib_main_t * vm,
rw_len0 = adj0[0].rewrite_header.data_bytes;
vnet_buffer(p0)->ip.save_rewrite_length = rw_len0;
vnet_buffer(p0)->sw_if_index[VLIB_TX] = adj0->rewrite_header.sw_if_index;
+ /* since we are coming out of the L2 world, where the vlib_buffer
+ * union is used for other things, make sure it is clean for
+ * MPLS from now on.
+ */
+ vnet_buffer(p0)->mpls.first = 0;
vlib_increment_combined_counter(&adjacency_counters,
thread_index,