NAT44: code cleanup and refactor (VPP-1285)
[vpp.git] / src / plugins / nat / nat64_cli.c
index 22bfa41..c2639f4 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <nat/nat64.h>
 #include <nat/nat.h>
+#include <nat/nat_inlines.h>
 #include <vnet/fib/fib_table.h>
 
 static clib_error_t *
@@ -116,7 +117,11 @@ nat64_cli_pool_walk (snat_address_t * ap, void *ctx)
   else
     vlib_cli_output (vm, " %U", format_ip4_address, &ap->addr);
 
-  return 0;
+#define _(N, i, n, s) \
+  vlib_cli_output (vm, "  %d busy %s ports", ap->busy_##n##_ports, s);
+  foreach_snat_protocol
+#undef _
+    return 0;
 }
 
 static clib_error_t *
@@ -177,22 +182,22 @@ nat64_interface_feature_command_fn (vlib_main_t * vm,
            case VNET_API_ERROR_NO_SUCH_ENTRY:
              error =
                clib_error_return (0, "%U NAT64 feature not enabled.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  sw_if_index);
              goto done;
            case VNET_API_ERROR_VALUE_EXIST:
              error =
                clib_error_return (0, "%U NAT64 feature already enabled.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  vnm, sw_if_index);
              goto done;
            case VNET_API_ERROR_INVALID_VALUE:
            case VNET_API_ERROR_INVALID_VALUE_2:
              error =
                clib_error_return (0,
                                   "%U NAT64 feature enable/disable failed.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  sw_if_index);
              goto done;
            default:
              break;
@@ -212,22 +217,22 @@ nat64_interface_feature_command_fn (vlib_main_t * vm,
            case VNET_API_ERROR_NO_SUCH_ENTRY:
              error =
                clib_error_return (0, "%U NAT64 feature not enabled.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  sw_if_index);
              goto done;
            case VNET_API_ERROR_VALUE_EXIST:
              error =
                clib_error_return (0, "%U NAT64 feature already enabled.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  sw_if_index);
              goto done;
            case VNET_API_ERROR_INVALID_VALUE:
            case VNET_API_ERROR_INVALID_VALUE_2:
              error =
                clib_error_return (0,
                                   "%U NAT64 feature enable/disable failed.",
-                                  format_vnet_sw_interface_name, vnm,
-                                  vnet_get_sw_interface (vnm, sw_if_index));
+                                  format_vnet_sw_if_index_name, vnm,
+                                  sw_if_index);
              goto done;
            default:
              break;
@@ -250,8 +255,8 @@ nat64_cli_interface_walk (snat_interface_t * i, void *ctx)
   vlib_main_t *vm = ctx;
   vnet_main_t *vnm = vnet_get_main ();
 
-  vlib_cli_output (vm, " %U %s", format_vnet_sw_interface_name, vnm,
-                  vnet_get_sw_interface (vnm, i->sw_if_index),
+  vlib_cli_output (vm, " %U %s", format_vnet_sw_if_index_name, vnm,
+                  i->sw_if_index,
                   (nat_interface_is_inside (i)
                    && nat_interface_is_outside (i)) ? "in out" :
                   nat_interface_is_inside (i) ? "in" : "out");