vlib: fix the total len not including first buffer formating 80/34880/2
authorMohsin Kazmi <sykazmi@cisco.com>
Tue, 11 Jan 2022 11:34:56 +0000 (11:34 +0000)
committerNeale Ranns <neale@graphiant.com>
Tue, 11 Jan 2022 12:47:52 +0000 (12:47 +0000)
Type: fix

total len not including first buffer is in vlib_buffer_t second cacheline.
It is not reset after the buffer has been consumed. It leads to printing
garbage in packet trace for subsequent use of this buffer. This patch
fixes the issue to only print when VLIB_BUFFER_NEXT_PRESENT flag is set.

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ied72308bdb907a5e1ca16d181f2add062807e968

src/vlib/buffer.c

index 71f84d3..7a70a8a 100644 (file)
@@ -107,7 +107,7 @@ format_vlib_buffer_no_chain (u8 * s, va_list * args)
                "ref-count %u", b->current_data, b->current_length,
                b->buffer_pool_index, b->ref_count);
 
-  if (b->flags & VLIB_BUFFER_TOTAL_LENGTH_VALID)
+  if (b->flags & VLIB_BUFFER_NEXT_PRESENT)
     s = format (s, ", totlen-nifb %d",
                b->total_length_not_including_first_buffer);