From 6631780422787166550b9871c46a94c160416324 Mon Sep 17 00:00:00 2001 From: John Lo Date: Tue, 13 Aug 2019 18:18:21 -0400 Subject: vlib: copy trace_handle in vlib_buffer_copy/clone() functions Since vlib_buffer_copy() and vlib_buffer_clone() both preserve VLIB_BUFFER_IS_TRACED bit in flags field, it should also copy trace_handle which would add minimal overhead. Thus, callers of these functions do not have to call vlib_buffer_copy_trace_flags() to copy trace_handle. Type: refactor Signed-off-by: John Lo Change-Id: Iff6a3f81660dd62b36a2966033eb380305340310 --- src/vlib/buffer_funcs.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/vlib/buffer_funcs.h') diff --git a/src/vlib/buffer_funcs.h b/src/vlib/buffer_funcs.h index bb090f2c195..7480326ee3d 100644 --- a/src/vlib/buffer_funcs.h +++ b/src/vlib/buffer_funcs.h @@ -992,6 +992,7 @@ vlib_buffer_copy (vlib_main_t * vm, vlib_buffer_t * b) d->current_data = s->current_data; d->current_length = s->current_length; d->flags = s->flags & flag_mask; + d->trace_handle = s->trace_handle; d->total_length_not_including_first_buffer = s->total_length_not_including_first_buffer; clib_memcpy_fast (d->opaque, s->opaque, sizeof (s->opaque)); @@ -1138,6 +1139,7 @@ vlib_buffer_clone_256 (vlib_main_t * vm, u32 src_buffer, u32 * buffers, } d->flags = (s->flags & VLIB_BUFFER_COPY_CLONE_FLAGS_MASK) | VLIB_BUFFER_NEXT_PRESENT; + d->trace_handle = s->trace_handle; clib_memcpy_fast (d->opaque, s->opaque, sizeof (s->opaque)); clib_memcpy_fast (d->opaque2, s->opaque2, sizeof (s->opaque2)); clib_memcpy_fast (vlib_buffer_get_current (d), -- cgit 1.2.3-korg