From a877cf9f3980f9721246887f67b22b6591cb873f Mon Sep 17 00:00:00 2001
From: Vladimir Ratnikov <vratnikov@netgate.com>
Date: Sat, 21 Dec 2019 06:27:52 -0500
Subject: ip: more detailed show reassembly commands

Options like:
expire_walk_interval_ms,max_reassemblies,timeout_ms
can be configured via API, but it's impossible to
check them using vppctl, but this can be a useful
feature

Type: feature

Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Iac8a96201a7a70b82e9852edc89b819c5d451a58
---
 src/vnet/ip/reass/ip4_full_reass.c | 10 ++++++++--
 src/vnet/ip/reass/ip4_sv_reass.c   |  8 +++++++-
 src/vnet/ip/reass/ip6_full_reass.c | 11 +++++++++--
 src/vnet/ip/reass/ip6_sv_reass.c   | 11 +++++++++--
 4 files changed, 33 insertions(+), 7 deletions(-)

(limited to 'src')

diff --git a/src/vnet/ip/reass/ip4_full_reass.c b/src/vnet/ip/reass/ip4_full_reass.c
index d492e5e4541..b1d8a56fb93 100644
--- a/src/vnet/ip/reass/ip4_full_reass.c
+++ b/src/vnet/ip/reass/ip4_full_reass.c
@@ -1654,11 +1654,17 @@ show_ip4_reass (vlib_main_t * vm,
       clib_spinlock_unlock (&rt->lock);
     }
   vlib_cli_output (vm, "---------------------");
-  vlib_cli_output (vm, "Current IP4 reassemblies count: %lu\n",
+  vlib_cli_output (vm, "Current full IP4 reassemblies count: %lu\n",
 		   (long unsigned) sum_reass_n);
   vlib_cli_output (vm,
-		   "Maximum configured concurrent IP4 reassemblies per worker-thread: %lu\n",
+		   "Maximum configured concurrent full IP4 reassemblies per worker-thread: %lu\n",
 		   (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured full IP4 reassembly timeout: %lums\n",
+		   (long unsigned) rm->timeout_ms);
+  vlib_cli_output (vm,
+		   "Maximum configured full IP4 reassembly expire walk interval: %lums\n",
+		   (long unsigned) rm->expire_walk_interval_ms);
   return 0;
 }
 
diff --git a/src/vnet/ip/reass/ip4_sv_reass.c b/src/vnet/ip/reass/ip4_sv_reass.c
index c50cf6d6728..29877cf5dfd 100644
--- a/src/vnet/ip/reass/ip4_sv_reass.c
+++ b/src/vnet/ip/reass/ip4_sv_reass.c
@@ -1115,8 +1115,14 @@ show_ip4_reass (vlib_main_t * vm,
   vlib_cli_output (vm, "Current IP4 reassemblies count: %lu\n",
 		   (long unsigned) sum_reass_n);
   vlib_cli_output (vm,
-		   "Maximum configured concurrent IP4 reassemblies per worker-thread: %lu\n",
+		   "Maximum configured concurrent shallow virtual IP4 reassemblies per worker-thread: %lu\n",
 		   (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured shallow virtual IP4 reassembly timeout: %lums\n",
+		   (long unsigned) rm->timeout_ms);
+  vlib_cli_output (vm,
+		   "Maximum configured shallow virtual IP4 reassembly expire walk interval: %lums\n",
+		   (long unsigned) rm->expire_walk_interval_ms);
   return 0;
 }
 
diff --git a/src/vnet/ip/reass/ip6_full_reass.c b/src/vnet/ip/reass/ip6_full_reass.c
index 7bcfdfc9f00..7d6a31e170a 100644
--- a/src/vnet/ip/reass/ip6_full_reass.c
+++ b/src/vnet/ip/reass/ip6_full_reass.c
@@ -1674,8 +1674,15 @@ show_ip6_full_reass (vlib_main_t * vm, unformat_input_t * input,
   vlib_cli_output (vm, "---------------------");
   vlib_cli_output (vm, "Current IP6 reassemblies count: %lu\n",
 		   (long unsigned) sum_reass_n);
-  vlib_cli_output (vm, "Maximum configured concurrent IP6 reassemblies per "
-		   "worker-thread: %lu\n", (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured concurrent full IP6 reassemblies per worker-thread: %lu\n",
+		   (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured full IP6 reassembly timeout: %lums\n",
+		   (long unsigned) rm->timeout_ms);
+  vlib_cli_output (vm,
+		   "Maximum configured full IP6 reassembly expire walk interval: %lums\n",
+		   (long unsigned) rm->expire_walk_interval_ms);
   vlib_cli_output (vm, "Buffers in use: %lu\n",
 		   (long unsigned) sum_buffers_n);
   return 0;
diff --git a/src/vnet/ip/reass/ip6_sv_reass.c b/src/vnet/ip/reass/ip6_sv_reass.c
index 5f46966b19b..b928bb0e01f 100644
--- a/src/vnet/ip/reass/ip6_sv_reass.c
+++ b/src/vnet/ip/reass/ip6_sv_reass.c
@@ -1151,8 +1151,15 @@ show_ip6_sv_reass (vlib_main_t * vm, unformat_input_t * input,
   vlib_cli_output (vm, "---------------------");
   vlib_cli_output (vm, "Current IP6 reassemblies count: %lu\n",
 		   (long unsigned) sum_reass_n);
-  vlib_cli_output (vm, "Maximum configured concurrent IP6 reassemblies per "
-		   "worker-thread: %lu\n", (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured concurrent shallow virtual IP6 reassemblies per worker-thread: %lu\n",
+		   (long unsigned) rm->max_reass_n);
+  vlib_cli_output (vm,
+		   "Maximum configured shallow virtual IP6 reassembly timeout: %lums\n",
+		   (long unsigned) rm->timeout_ms);
+  vlib_cli_output (vm,
+		   "Maximum configured shallow virtual IP6 reassembly expire walk interval: %lums\n",
+		   (long unsigned) rm->expire_walk_interval_ms);
   vlib_cli_output (vm, "Buffers in use: %lu\n",
 		   (long unsigned) sum_buffers_n);
   return 0;
-- 
cgit