summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/vmxnet3/format.c2
-rw-r--r--src/vlib/buffer.c15
-rw-r--r--src/vlib/buffer.h2
-rw-r--r--src/vlib/buffer_funcs.h2
-rw-r--r--src/vnet/buffer.c2
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);