nat: move deterministic nat to det44 sub feature
[vpp.git] / src / plugins / nat / nat_ipfix_logging.c
old mode 100755 (executable)
new mode 100644 (file)
index 7647742..3b75260
@@ -493,6 +493,7 @@ snat_ipfix_header_create (flow_report_main_t * frm,
   u32 stream_index;
   ip4_header_t *ip;
   udp_header_t *udp;
+  vlib_main_t *vm = vlib_get_main ();
   
   stream_index = clib_atomic_fetch_or(&silm->stream_index, 0);
   stream = &frm->streams[stream_index];
@@ -521,7 +522,7 @@ snat_ipfix_header_create (flow_report_main_t * frm,
 
   h->export_time = clib_host_to_net_u32 ((u32)
                                         (((f64) frm->unix_time_0) +
-                                         (vlib_time_now (frm->vlib_main) -
+                                         (vlib_time_now (vm) -
                                           frm->vlib_time_0)));
 
   sequence_number = clib_atomic_fetch_add (&stream->sequence_number, 1);
@@ -1527,83 +1528,78 @@ snat_ipfix_logging_enable_disable (int enable, u32 domain_id, u16 src_port)
   a.src_port = src_port ? src_port : UDP_DST_PORT_ipfix;
   a.flow_data_callback = data_callback;
 
-  if (sm->deterministic)
+  /* TODO: ipfix needs to be separated from NAT base plugin
+  a.rewrite_callback = snat_template_rewrite_max_entries_per_usr;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
     {
-      a.rewrite_callback = snat_template_rewrite_max_entries_per_usr;
-
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
     }
-  else
+  */
+  a.rewrite_callback = snat_template_rewrite_nat44_session;
+
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
     {
-      a.rewrite_callback = snat_template_rewrite_nat44_session;
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
 
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+  a.rewrite_callback = snat_template_rewrite_addr_exhausted;
 
-      a.rewrite_callback = snat_template_rewrite_addr_exhausted;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
+    {
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
 
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+  a.rewrite_callback = nat_template_rewrite_max_sessions;
 
-      a.rewrite_callback = nat_template_rewrite_max_sessions;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
+    {
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
 
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+  a.rewrite_callback = nat_template_rewrite_max_bibs;
 
-      a.rewrite_callback = nat_template_rewrite_max_bibs;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
+    {
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
 
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+  a.rewrite_callback = nat_template_rewrite_nat64_bib;
 
-      a.rewrite_callback = nat_template_rewrite_nat64_bib;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
+    {
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
 
-      rv = vnet_flow_report_add_del (frm, &a, NULL);
-      if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
+  a.rewrite_callback = nat_template_rewrite_nat64_session;
 
-      a.rewrite_callback = nat_template_rewrite_nat64_session;
+  rv = vnet_flow_report_add_del (frm, &a, NULL);
+  if (rv)
+    {
+      nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+      return -1;
+    }
+
+  if (sm->endpoint_dependent)
+    {
+      a.rewrite_callback = snat_template_rewrite_max_entries_per_usr;
 
       rv = vnet_flow_report_add_del (frm, &a, NULL);
       if (rv)
-       {
-         nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-         return -1;
-       }
-
-      if (sm->endpoint_dependent)
         {
-          a.rewrite_callback = snat_template_rewrite_max_entries_per_usr;
-
-          rv = vnet_flow_report_add_del (frm, &a, NULL);
-          if (rv)
-            {
-              nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
-              return -1;
-            }
+          nat_elog_warn_X1 ("vnet_flow_report_add_del returned %d", "i4", rv);
+          return -1;
         }
     }