NAT: ipfix call optimization 57/16957/2
authorFilip Varga <fivarga@cisco.com>
Tue, 22 Jan 2019 08:43:44 +0000 (00:43 -0800)
committerDamjan Marion <dmarion@me.com>
Tue, 22 Jan 2019 10:58:00 +0000 (10:58 +0000)
Change-Id: I84dfdbb727fb765fcaa7fb0099cbdd7ef7dbcc10
Signed-off-by: Filip Varga <fivarga@cisco.com>
src/plugins/nat/nat44_cli.c
src/plugins/nat/nat64.h
src/plugins/nat/nat64_cli.c
src/plugins/nat/nat_api.c

index d33ee5f..eba5d57 100644 (file)
@@ -126,12 +126,15 @@ snat_ipfix_logging_enable_disable_command_fn (vlib_main_t * vm,
   int rv = 0;
   clib_error_t *error = 0;
 
-  // TODO: fix if you don't add domain id, "nat ipfix logging", won't
-  // enable logging
-
   /* Get a line of input. */
   if (!unformat_user (input, unformat_line_input, line_input))
-    return 0;
+    {
+      rv = snat_ipfix_logging_enable_disable (enable, domain_id,
+                                             (u16) src_port);
+      if (rv)
+       return clib_error_return (0, "ipfix logging enable failed");
+      return 0;
+    }
 
   while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
     {
index eca5e7d..b925140 100644 (file)
@@ -123,7 +123,7 @@ extern vlib_node_registration_t nat64_out2in_node;
 /**
  * @brief Add/delete address to NAT64 pool.
  *
- * @param thread_index Thread index.
+ * @param thread_index Thread index used by ipfix nat logging (not address per thread).
  * @param addr   IPv4 address.
  * @param vrf_id VRF id of tenant, ~0 means independent of VRF.
  * @param is_add 1 if add, 0 if delete.
index 3f785c2..4efdf13 100644 (file)
@@ -73,8 +73,7 @@ nat64_add_del_pool_addr_command_fn (vlib_main_t * vm,
 
   for (i = 0; i < count; i++)
     {
-      rv = nat64_add_del_pool_addr (vm->thread_index,
-                                   &this_addr, vrf_id, is_add);
+      rv = nat64_add_del_pool_addr (0, &this_addr, vrf_id, is_add);
 
       switch (rv)
        {
index 55e6bf9..49b5f36 100644 (file)
@@ -2324,8 +2324,7 @@ static void
 
   for (i = 0; i < count; i++)
     {
-      if ((rv = nat64_add_del_pool_addr (vlib_get_thread_index (),
-                                        &this_addr, vrf_id, mp->is_add)))
+      if ((rv = nat64_add_del_pool_addr (0, &this_addr, vrf_id, mp->is_add)))
        goto send_reply;
 
       increment_v4_address (&this_addr);