diff options
-rw-r--r-- | src/vnet/mpls/mpls_lookup.c | 2 | ||||
-rw-r--r-- | src/vnet/mpls/mpls_output.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/vnet/mpls/mpls_lookup.c b/src/vnet/mpls/mpls_lookup.c index 475bb20454b..4424f62cff5 100644 --- a/src/vnet/mpls/mpls_lookup.c +++ b/src/vnet/mpls/mpls_lookup.c @@ -38,7 +38,7 @@ format_mpls_lookup_trace (u8 * s, va_list * args) CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *); mpls_lookup_trace_t * t = va_arg (*args, mpls_lookup_trace_t *); - s = format (s, "MPLS: next [%d], lookup fib index %d, LB index %d hash %d" + s = format (s, "MPLS: next [%d], lookup fib index %d, LB index %d hash %x " "label %d eos %d", t->next_index, t->lfib_index, t->lb_index, t->hash, vnet_mpls_uc_get_label( diff --git a/src/vnet/mpls/mpls_output.c b/src/vnet/mpls/mpls_output.c index 2d8bd0c961f..d56d1f729af 100644 --- a/src/vnet/mpls/mpls_output.c +++ b/src/vnet/mpls/mpls_output.c @@ -210,6 +210,9 @@ mpls_output_inline (vlib_main_t * vm, p0, sizeof (*tr)); tr->adj_index = vnet_buffer(p0)->ip.adj_index[VLIB_TX]; tr->flow_hash = vnet_buffer(p0)->ip.flow_hash; + clib_memcpy (tr->packet_data, + vlib_buffer_get_current (p0), + sizeof (tr->packet_data)); } if (PREDICT_FALSE(p1->flags & VLIB_BUFFER_IS_TRACED)) { @@ -217,6 +220,9 @@ mpls_output_inline (vlib_main_t * vm, p1, sizeof (*tr)); tr->adj_index = vnet_buffer(p1)->ip.adj_index[VLIB_TX]; tr->flow_hash = vnet_buffer(p1)->ip.flow_hash; + clib_memcpy (tr->packet_data, + vlib_buffer_get_current (p1), + sizeof (tr->packet_data)); } vlib_validate_buffer_enqueue_x2 (vm, node, next_index, |