TCP ooo reception fixes
[vpp.git] / src / vnet / tcp / tcp_format.c
index 7136741..4de9923 100644 (file)
 #include <vnet/ip/ip.h>
 #include <vnet/tcp/tcp.h>
 
-static u8 *
+u8 *
 format_tcp_flags (u8 * s, va_list * args)
 {
   int flags = va_arg (*args, int);
 
-#define _(f) if (flags & TCP_FLAG_##f) s = format (s, "%s, ", #f);
+  s = format (s, "0x%02x", flags);
+#define _(f) if (flags & TCP_FLAG_##f) s = format (s, " %s", #f);
   foreach_tcp_flag
 #undef _
     return s;
@@ -127,6 +128,20 @@ format_tcp_header (u8 * s, va_list * args)
   return s;
 }
 
+u8 *
+format_tcp_sacks (u8 * s, va_list * args)
+{
+  tcp_connection_t *tc = va_arg (*args, tcp_connection_t *);
+  sack_block_t *sacks = tc->snd_sacks;
+  sack_block_t *block;
+  vec_foreach (block, sacks)
+  {
+    s = format (s, " start %u end %u\n", block->start - tc->irs,
+               block->end - tc->irs);
+  }
+  return s;
+}
+
 /*
  * fd.io coding-style-patch-verification: ON
  *