aboutsummaryrefslogtreecommitdiffstats
path: root/src/vlib
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib')
-rw-r--r--src/vlib/buffer.c15
-rw-r--r--src/vlib/buffer.h2
-rw-r--r--src/vlib/buffer_funcs.h2
3 files changed, 15 insertions, 4 deletions
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
{