diff options
-rw-r--r-- | src/plugins/vmxnet3/format.c | 2 | ||||
-rw-r--r-- | src/vlib/buffer.c | 15 | ||||
-rw-r--r-- | src/vlib/buffer.h | 2 | ||||
-rw-r--r-- | src/vlib/buffer_funcs.h | 2 | ||||
-rw-r--r-- | src/vnet/buffer.c | 2 |
5 files changed, 17 insertions, 6 deletions
diff --git a/src/plugins/vmxnet3/format.c b/src/plugins/vmxnet3/format.c index 8e39b5faf36..d463feb3bec 100644 --- a/src/plugins/vmxnet3/format.c +++ b/src/plugins/vmxnet3/format.c @@ -164,7 +164,7 @@ format_vmxnet3_input_trace (u8 * s, va_list * args) s = format (s, "vmxnet3: %v (%d) next-node %U", hi->name, t->hw_if_index, format_vlib_next_node_name, vm, node->index, t->next_index); - s = format (s, "\n buffer %U", format_vlib_buffer, &t->buffer); + s = format (s, "\n buffer %U", format_vnet_buffer, &t->buffer); return s; } diff --git a/src/vlib/buffer.c b/src/vlib/buffer.c index 9838e23e0d5..43b1dd63761 100644 --- a/src/vlib/buffer.c +++ b/src/vlib/buffer.c @@ -92,7 +92,7 @@ vlib_buffer_length_in_chain_slow_path (vlib_main_t * vm, } u8 * -format_vlib_buffer (u8 * s, va_list * args) +format_vlib_buffer_no_chain (u8 * s, va_list * args) { vlib_buffer_t *b = va_arg (*args, vlib_buffer_t *); u32 indent = format_get_indent (s); @@ -118,9 +118,20 @@ format_vlib_buffer (u8 * s, va_list * args) s = format (s, "\n%U%v", format_white_space, indent, a); vec_free (a); + return s; +} + +u8 * +format_vlib_buffer (u8 * s, va_list * args) +{ + vlib_main_t *vm = vlib_get_main (); + vlib_buffer_t *b = va_arg (*args, vlib_buffer_t *); + u32 indent = format_get_indent (s); + + s = format (s, "%U", format_vlib_buffer_no_chain, b); + while (b->flags & VLIB_BUFFER_NEXT_PRESENT) { - vlib_main_t *vm = vlib_get_main (); u32 next_buffer = b->next_buffer; b = vlib_get_buffer (vm, next_buffer); diff --git a/src/vlib/buffer.h b/src/vlib/buffer.h index c2ca8214162..8ca198de68e 100644 --- a/src/vlib/buffer.h +++ b/src/vlib/buffer.h @@ -72,7 +72,7 @@ */ #define foreach_vlib_buffer_flag \ _( 0, IS_TRACED, 0) \ - _( 1, NEXT_PRESENT, 0) \ + _( 1, NEXT_PRESENT, "next-present") \ _( 2, TOTAL_LENGTH_VALID, 0) \ _( 3, EXT_HDR_VALID, "ext-hdr-valid") diff --git a/src/vlib/buffer_funcs.h b/src/vlib/buffer_funcs.h index 2ba9f1cb894..cfb48344648 100644 --- a/src/vlib/buffer_funcs.h +++ b/src/vlib/buffer_funcs.h @@ -1332,7 +1332,7 @@ vlib_buffer_chain_append_data_with_alloc (vlib_main_t * vm, void vlib_buffer_chain_validate (vlib_main_t * vm, vlib_buffer_t * first); format_function_t format_vlib_buffer, format_vlib_buffer_and_data, - format_vlib_buffer_contents; + format_vlib_buffer_contents, format_vlib_buffer_no_chain; typedef struct { diff --git a/src/vnet/buffer.c b/src/vnet/buffer.c index cf61780cb74..3cb6b948d2b 100644 --- a/src/vnet/buffer.c +++ b/src/vnet/buffer.c @@ -45,7 +45,7 @@ format_vnet_buffer (u8 * s, va_list * args) if (b->flags & VNET_BUFFER_F_LOOP_COUNTER_VALID) a = format (a, "loop-counter %d ", vnet_buffer2 (b)->loop_counter); - s = format (s, "%U", format_vlib_buffer, b); + s = format (s, "%U", format_vlib_buffer_no_chain, b); if (a) s = format (s, "\n%U%v", format_white_space, indent, a); vec_free (a); |