X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fmpls%2Fmpls_output.c;h=b7bb7694c712f9fa49490a815f150d6a1f996390;hb=3ae2873e568dd441a22903ab9f8c7954835b0bf1;hp=0dc12b8d5bd36ed73e16a461f9d039dbb871737f;hpb=9128637ee8f7b0d903551f165a1447d427e8dd19;p=vpp.git diff --git a/src/vnet/mpls/mpls_output.c b/src/vnet/mpls/mpls_output.c index 0dc12b8d5bd..b7bb7694c71 100644 --- a/src/vnet/mpls/mpls_output.c +++ b/src/vnet/mpls/mpls_output.c @@ -125,6 +125,8 @@ mpls_output_inline (vlib_main_t * vm, /* Update packet buffer attributes/set output interface. */ rw_len0 = adj0[0].rewrite_header.data_bytes; rw_len1 = adj1[0].rewrite_header.data_bytes; + vnet_buffer (p0)->mpls.save_rewrite_length = rw_len0; + vnet_buffer (p1)->mpls.save_rewrite_length = rw_len1; /* Bump the adj counters for packet and bytes */ vlib_increment_combined_counter @@ -185,8 +187,12 @@ mpls_output_inline (vlib_main_t * vm, } if (is_midchain) { - adj0->sub_type.midchain.fixup_func(vm, adj0, p0); - adj1->sub_type.midchain.fixup_func(vm, adj1, p1); + adj0->sub_type.midchain.fixup_func + (vm, adj0, p0, + adj0->sub_type.midchain.fixup_data); + adj1->sub_type.midchain.fixup_func + (vm, adj1, p1, + adj1->sub_type.midchain.fixup_data); } p0->error = error_node->errors[error0]; @@ -234,7 +240,8 @@ mpls_output_inline (vlib_main_t * vm, /* Update packet buffer attributes/set output interface. */ rw_len0 = adj0[0].rewrite_header.data_bytes; - + vnet_buffer (p0)->mpls.save_rewrite_length = rw_len0; + vlib_increment_combined_counter (&adjacency_counters, thread_index, @@ -266,7 +273,9 @@ mpls_output_inline (vlib_main_t * vm, } if (is_midchain) { - adj0->sub_type.midchain.fixup_func(vm, adj0, p0); + adj0->sub_type.midchain.fixup_func + (vm, adj0, p0, + adj0->sub_type.midchain.fixup_data); } p0->error = error_node->errors[error0];