NAT: Rename snat plugin to nat (VPP-955)
[vpp.git] / src / plugins / nat / in2out.c
similarity index 98%
rename from src/plugins/snat/in2out.c
rename to src/plugins/nat/in2out.c
index abe0d9d..62a1117 100644 (file)
@@ -21,9 +21,9 @@
 #include <vnet/ip/ip.h>
 #include <vnet/ethernet/ethernet.h>
 #include <vnet/fib/ip4_fib.h>
-#include <snat/snat.h>
-#include <snat/snat_ipfix_logging.h>
-#include <snat/snat_det.h>
+#include <nat/nat.h>
+#include <nat/nat_ipfix_logging.h>
+#include <nat/nat_det.h>
 
 #include <vppinfra/hash.h>
 #include <vppinfra/error.h>
@@ -49,8 +49,8 @@ static u8 * format_snat_in2out_trace (u8 * s, va_list * args)
   snat_in2out_trace_t * t = va_arg (*args, snat_in2out_trace_t *);
   char * tag;
 
-  tag = t->is_slow_path ? "SNAT_IN2OUT_SLOW_PATH" : "SNAT_IN2OUT_FAST_PATH";
-  
+  tag = t->is_slow_path ? "NAT44_IN2OUT_SLOW_PATH" : "NAT44_IN2OUT_FAST_PATH";
+
   s = format (s, "%s: sw_if_index %d, next index %d, session %d", tag,
               t->sw_if_index, t->next_index, t->session_index);
 
@@ -63,7 +63,7 @@ static u8 * format_snat_in2out_fast_trace (u8 * s, va_list * args)
   CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *);
   snat_in2out_trace_t * t = va_arg (*args, snat_in2out_trace_t *);
 
-  s = format (s, "SANT_IN2OUT_FAST: sw_if_index %d, next index %d", 
+  s = format (s, "NAT44_IN2OUT_FAST: sw_if_index %d, next index %d",
               t->sw_if_index, t->next_index);
 
   return s;
@@ -78,7 +78,7 @@ static u8 * format_snat_in2out_worker_handoff_trace (u8 * s, va_list * args)
   char * m;
 
   m = t->do_handoff ? "next worker" : "same worker";
-  s = format (s, "SNAT_IN2OUT_WORKER_HANDOFF: %s %d", m, t->next_worker_index);
+  s = format (s, "NAT44_IN2OUT_WORKER_HANDOFF: %s %d", m, t->next_worker_index);
 
   return s;
 }
@@ -102,7 +102,7 @@ _(OUT_OF_PORTS, "Out of ports")                         \
 _(BAD_OUTSIDE_FIB, "Outside VRF ID not found")          \
 _(BAD_ICMP_TYPE, "unsupported ICMP type")               \
 _(NO_TRANSLATION, "No translation")
-  
+
 typedef enum {
 #define _(sym,str) SNAT_IN2OUT_ERROR_##sym,
   foreach_snat_in2out_error
@@ -138,11 +138,11 @@ typedef enum {
  * Packets aimed at outside interface and external addresss with active session
  * should be translated.
  *
- * @param sm            SNAT main
- * @param rt            SNAT runtime data
+ * @param sm            NAT main
+ * @param rt            NAT runtime data
  * @param sw_if_index0  index of the inside interface
  * @param ip0           IPv4 header
- * @param proto0        SNAT protocol
+ * @param proto0        NAT protocol
  * @param rx_fib_index0 RX FIB index
  *
  * @returns 0 if packet should be translated otherwise 1
@@ -254,7 +254,7 @@ static u32 slow_path (snat_main_t *sm, vlib_buffer_t *b0,
   user_key.addr = ip0->src_address;
   user_key.fib_index = rx_fib_index0;
   kv0.key = user_key.as_u64;
-  
+
   /* Ever heard of the "user" = src ip4 address before? */
   if (clib_bihash_search_8_8 (&sm->user_hash, &kv0, &value0))
     {
@@ -387,7 +387,7 @@ static u32 slow_path (snat_main_t *sm, vlib_buffer_t *b0,
       /* Create a new session */
       pool_get (sm->per_thread_data[thread_index].sessions, s);
       memset (s, 0, sizeof (*s));
-      
+
       s->outside_address_index = address_index;
 
       if (static_mapping)
@@ -418,7 +418,7 @@ static u32 slow_path (snat_main_t *sm, vlib_buffer_t *b0,
                           per_user_translation_list_elt -
                           sm->per_thread_data[thread_index].list_pool);
    }
-  
+
   s->in2out = *key0;
   s->out2in = key1;
   s->out2in.protocol = key0->protocol;
@@ -431,10 +431,10 @@ static u32 slow_path (snat_main_t *sm, vlib_buffer_t *b0,
   kv0.value = s - sm->per_thread_data[thread_index].sessions;
   if (clib_bihash_add_del_8_8 (&sm->in2out, &kv0, 1 /* is_add */))
       clib_warning ("in2out key add failed");
-  
+
   kv0.key = s->out2in.as_u64;
   kv0.value = s - sm->per_thread_data[thread_index].sessions;
-  
+
   if (clib_bihash_add_del_8_8 (&sm->out2in, &kv0, 1 /* is_add */))
       clib_warning ("out2in key add failed");
 
@@ -502,11 +502,11 @@ snat_in2out_error_t icmp_get_key(ip4_header_t *ip0,
 }
 
 /**
- * Get address and port values to be used for packet SNAT translation
+ * Get address and port values to be used for ICMP packet translation
  * and create session if needed
  *
- * @param[in,out] sm             SNAT main
- * @param[in,out] node           SNAT node runtime
+ * @param[in,out] sm             NAT main
+ * @param[in,out] node           NAT node runtime
  * @param[in] thread_index       thread index
  * @param[in,out] b0             buffer containing packet to be translated
  * @param[out] p_proto           protocol used for matching
@@ -601,10 +601,10 @@ out:
 }
 
 /**
- * Get address and port values to be used for packet SNAT translation
+ * Get address and port values to be used for ICMP packet translation
  *
- * @param[in] sm                 SNAT main
- * @param[in,out] node           SNAT node runtime
+ * @param[in] sm                 NAT main
+ * @param[in,out] node           NAT node runtime
  * @param[in] thread_index       thread index
  * @param[in,out] b0             buffer containing packet to be translated
  * @param[out] p_proto           protocol used for matching
@@ -732,7 +732,7 @@ static inline u32 icmp_in2out (snat_main_t *sm,
   sum0 = ip_csum_update (sum0, old_addr0, new_addr0, ip4_header_t,
                          src_address /* changed member */);
   ip0->checksum = ip_csum_fold (sum0);
-  
+
   if (!icmp_is_error_message (icmp0))
     {
       new_id0 = sm0.port;
@@ -810,12 +810,12 @@ out:
  * communicate even if they only use each other's external IP addresses
  * and ports.
  *
- * @param sm     SNAT main.
+ * @param sm     NAT main.
  * @param b0     Vlib buffer.
  * @param ip0    IP header.
  * @param udp0   UDP header.
  * @param tcp0   TCP header.
- * @param proto0 SNAT protocol.
+ * @param proto0 NAT protocol.
  */
 static inline void
 snat_hairpinning (snat_main_t *sm,
@@ -1413,14 +1413,14 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           snat_session_t * s0 = 0, * s1 = 0;
           clib_bihash_kv_8_8_t kv0, value0, kv1, value1;
           u32 iph_offset0 = 0, iph_offset1 = 0;
-          
+
          /* Prefetch next iteration. */
          {
            vlib_buffer_t * p2, * p3;
-            
+
            p2 = vlib_get_buffer (vm, from[2]);
            p3 = vlib_get_buffer (vm, from[3]);
-            
+
            vlib_prefetch_buffer_header (p2, LOAD);
            vlib_prefetch_buffer_header (p3, LOAD);
 
@@ -1435,7 +1435,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
          to_next += 2;
          n_left_from -= 2;
          n_left_to_next -= 2;
-          
+
          b0 = vlib_get_buffer (vm, bi0);
          b1 = vlib_get_buffer (vm, bi1);
 
@@ -1450,7 +1450,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           icmp0 = (icmp46_header_t *) udp0;
 
           sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
-         rx_fib_index0 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index, 
+         rx_fib_index0 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index,
                                    sw_if_index0);
 
           next0 = next1 = SNAT_IN2OUT_NEXT_LOOKUP;
@@ -1479,8 +1479,8 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
 
               if (PREDICT_FALSE (proto0 == SNAT_PROTOCOL_ICMP))
                 {
-                  next0 = icmp_in2out_slow_path 
-                    (sm, b0, ip0, icmp0, sw_if_index0, rx_fib_index0, 
+                  next0 = icmp_in2out_slow_path
+                    (sm, b0, ip0, icmp0, sw_if_index0, rx_fib_index0,
                      node, next0, now, thread_index, &s0);
                   goto trace00;
                 }
@@ -1498,7 +1498,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           key0.port = udp0->src_port;
           key0.protocol = proto0;
           key0.fib_index = rx_fib_index0;
-          
+
           kv0.key = key0.as_u64;
 
           if (PREDICT_FALSE (clib_bihash_search_8_8 (&sm->in2out, &kv0, &value0) != 0))
@@ -1577,10 +1577,10 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
             }
         trace00:
 
-          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE) 
-                            && (b0->flags & VLIB_BUFFER_IS_TRACED))) 
+          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE)
+                            && (b0->flags & VLIB_BUFFER_IS_TRACED)))
             {
-              snat_in2out_trace_t *t = 
+              snat_in2out_trace_t *t =
                  vlib_add_trace (vm, node, b0, sizeof (*t));
               t->is_slow_path = is_slow_path;
               t->sw_if_index = sw_if_index0;
@@ -1603,7 +1603,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           icmp1 = (icmp46_header_t *) udp1;
 
           sw_if_index1 = vnet_buffer(b1)->sw_if_index[VLIB_RX];
-         rx_fib_index1 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index, 
+         rx_fib_index1 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index,
                                    sw_if_index1);
 
           if (PREDICT_FALSE(ip1->ttl == 1))
@@ -1630,7 +1630,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
 
               if (PREDICT_FALSE (proto1 == SNAT_PROTOCOL_ICMP))
                 {
-                  next1 = icmp_in2out_slow_path 
+                  next1 = icmp_in2out_slow_path
                     (sm, b1, ip1, icmp1, sw_if_index1, rx_fib_index1, node,
                      next1, now, thread_index, &s1);
                   goto trace01;
@@ -1649,7 +1649,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           key1.port = udp1->src_port;
           key1.protocol = proto1;
           key1.fib_index = rx_fib_index1;
-          
+
           kv1.key = key1.as_u64;
 
             if (PREDICT_FALSE(clib_bihash_search_8_8 (&sm->in2out, &kv1, &value1) != 0))
@@ -1728,10 +1728,10 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
             }
         trace01:
 
-          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE) 
-                            && (b1->flags & VLIB_BUFFER_IS_TRACED))) 
+          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE)
+                            && (b1->flags & VLIB_BUFFER_IS_TRACED)))
             {
-              snat_in2out_trace_t *t = 
+              snat_in2out_trace_t *t =
                  vlib_add_trace (vm, node, b1, sizeof (*t));
               t->sw_if_index = sw_if_index1;
               t->next_index = next1;
@@ -1790,7 +1790,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           icmp0 = (icmp46_header_t *) udp0;
 
           sw_if_index0 = vnet_buffer(b0)->sw_if_index[VLIB_RX];
-         rx_fib_index0 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index, 
+         rx_fib_index0 = vec_elt (sm->ip4_main->fib_index_by_sw_if_index,
                                    sw_if_index0);
 
           if (PREDICT_FALSE(ip0->ttl == 1))
@@ -1817,7 +1817,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
 
               if (PREDICT_FALSE (proto0 == SNAT_PROTOCOL_ICMP))
                 {
-                  next0 = icmp_in2out_slow_path 
+                  next0 = icmp_in2out_slow_path
                     (sm, b0, ip0, icmp0, sw_if_index0, rx_fib_index0, node,
                      next0, now, thread_index, &s0);
                   goto trace0;
@@ -1836,7 +1836,7 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
           key0.port = udp0->src_port;
           key0.protocol = proto0;
           key0.fib_index = rx_fib_index0;
-          
+
           kv0.key = key0.as_u64;
 
           if (clib_bihash_search_8_8 (&sm->in2out, &kv0, &value0))
@@ -1916,10 +1916,10 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
             }
 
         trace0:
-          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE) 
-                            && (b0->flags & VLIB_BUFFER_IS_TRACED))) 
+          if (PREDICT_FALSE((node->flags & VLIB_NODE_FLAG_TRACE)
+                            && (b0->flags & VLIB_BUFFER_IS_TRACED)))
             {
-              snat_in2out_trace_t *t = 
+              snat_in2out_trace_t *t =
                  vlib_add_trace (vm, node, b0, sizeof (*t));
               t->is_slow_path = is_slow_path;
               t->sw_if_index = sw_if_index0;
@@ -1940,8 +1940,8 @@ snat_in2out_node_fn_inline (vlib_main_t * vm,
       vlib_put_next_frame (vm, node, next_index, n_left_to_next);
     }
 
-  vlib_node_increment_counter (vm, stats_node_index, 
-                               SNAT_IN2OUT_ERROR_IN2OUT_PACKETS, 
+  vlib_node_increment_counter (vm, stats_node_index,
+                               SNAT_IN2OUT_ERROR_IN2OUT_PACKETS,
                                pkts_processed);
   return frame->n_vectors;
 }
@@ -1956,7 +1956,7 @@ snat_in2out_fast_path_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_node) = {
   .function = snat_in2out_fast_path_fn,
-  .name = "snat-in2out",
+  .name = "nat44-in2out",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -1972,7 +1972,7 @@ VLIB_REGISTER_NODE (snat_in2out_node) = {
   .next_nodes = {
     [SNAT_IN2OUT_NEXT_DROP] = "error-drop",
     [SNAT_IN2OUT_NEXT_LOOKUP] = "ip4-lookup",
-    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "snat-in2out-slowpath",
+    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "nat44-in2out-slowpath",
     [SNAT_IN2OUT_NEXT_ICMP_ERROR] = "ip4-icmp-error",
   },
 };
@@ -1989,7 +1989,7 @@ snat_in2out_output_fast_path_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_output_node) = {
   .function = snat_in2out_output_fast_path_fn,
-  .name = "snat-in2out-output",
+  .name = "nat44-in2out-output",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -2005,7 +2005,7 @@ VLIB_REGISTER_NODE (snat_in2out_output_node) = {
   .next_nodes = {
     [SNAT_IN2OUT_NEXT_DROP] = "error-drop",
     [SNAT_IN2OUT_NEXT_LOOKUP] = "interface-output",
-    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "snat-in2out-output-slowpath",
+    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "nat44-in2out-output-slowpath",
     [SNAT_IN2OUT_NEXT_ICMP_ERROR] = "ip4-icmp-error",
   },
 };
@@ -2023,7 +2023,7 @@ snat_in2out_slow_path_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_slowpath_node) = {
   .function = snat_in2out_slow_path_fn,
-  .name = "snat-in2out-slowpath",
+  .name = "nat44-in2out-slowpath",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -2039,7 +2039,7 @@ VLIB_REGISTER_NODE (snat_in2out_slowpath_node) = {
   .next_nodes = {
     [SNAT_IN2OUT_NEXT_DROP] = "error-drop",
     [SNAT_IN2OUT_NEXT_LOOKUP] = "ip4-lookup",
-    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "snat-in2out-slowpath",
+    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "nat44-in2out-slowpath",
     [SNAT_IN2OUT_NEXT_ICMP_ERROR] = "ip4-icmp-error",
   },
 };
@@ -2057,7 +2057,7 @@ snat_in2out_output_slow_path_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_output_slowpath_node) = {
   .function = snat_in2out_output_slow_path_fn,
-  .name = "snat-in2out-output-slowpath",
+  .name = "nat44-in2out-output-slowpath",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -2073,7 +2073,7 @@ VLIB_REGISTER_NODE (snat_in2out_output_slowpath_node) = {
   .next_nodes = {
     [SNAT_IN2OUT_NEXT_DROP] = "error-drop",
     [SNAT_IN2OUT_NEXT_LOOKUP] = "interface-output",
-    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "snat-in2out-output-slowpath",
+    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "nat44-in2out-output-slowpath",
     [SNAT_IN2OUT_NEXT_ICMP_ERROR] = "ip4-icmp-error",
   },
 };
@@ -2658,7 +2658,7 @@ snat_det_in2out_node_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_det_in2out_node) = {
   .function = snat_det_in2out_node_fn,
-  .name = "snat-det-in2out",
+  .name = "nat44-det-in2out",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -2681,11 +2681,11 @@ VLIB_REGISTER_NODE (snat_det_in2out_node) = {
 VLIB_NODE_FUNCTION_MULTIARCH (snat_det_in2out_node, snat_det_in2out_node_fn);
 
 /**
- * Get address and port values to be used for packet SNAT translation
+ * Get address and port values to be used for ICMP packet translation
  * and create session if needed
  *
- * @param[in,out] sm             SNAT main
- * @param[in,out] node           SNAT node runtime
+ * @param[in,out] sm             NAT main
+ * @param[in,out] node           NAT node runtime
  * @param[in] thread_index       thread index
  * @param[in,out] b0             buffer containing packet to be translated
  * @param[out] p_proto           protocol used for matching
@@ -3009,7 +3009,7 @@ snat_in2out_worker_handoff_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_worker_handoff_node) = {
   .function = snat_in2out_worker_handoff_fn,
-  .name = "snat-in2out-worker-handoff",
+  .name = "nat44-in2out-worker-handoff",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_worker_handoff_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -3034,7 +3034,7 @@ snat_in2out_output_worker_handoff_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_output_worker_handoff_node) = {
   .function = snat_in2out_output_worker_handoff_fn,
-  .name = "snat-in2out-output-worker-handoff",
+  .name = "nat44-in2out-output-worker-handoff",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_worker_handoff_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
@@ -3160,7 +3160,7 @@ snat_hairpin_dst_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_hairpin_dst_node) = {
   .function = snat_hairpin_dst_fn,
-  .name = "snat-hairpin-dst",
+  .name = "nat44-hairpin-dst",
   .vector_size = sizeof (u32),
   .type = VLIB_NODE_TYPE_INTERNAL,
   .n_errors = ARRAY_LEN(snat_in2out_error_strings),
@@ -3240,7 +3240,7 @@ snat_hairpin_src_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_hairpin_src_node) = {
   .function = snat_hairpin_src_fn,
-  .name = "snat-hairpin-src",
+  .name = "nat44-hairpin-src",
   .vector_size = sizeof (u32),
   .type = VLIB_NODE_TYPE_INTERNAL,
   .n_errors = ARRAY_LEN(snat_in2out_error_strings),
@@ -3248,9 +3248,9 @@ VLIB_REGISTER_NODE (snat_hairpin_src_node) = {
   .n_next_nodes = SNAT_HAIRPIN_SRC_N_NEXT,
   .next_nodes = {
      [SNAT_HAIRPIN_SRC_NEXT_DROP] = "error-drop",
-     [SNAT_HAIRPIN_SRC_NEXT_SNAT_IN2OUT] = "snat-in2out-output",
+     [SNAT_HAIRPIN_SRC_NEXT_SNAT_IN2OUT] = "nat44-in2out-output",
      [SNAT_HAIRPIN_SRC_NEXT_INTERFACE_OUTPUT] = "interface-output",
-     [SNAT_HAIRPIN_SRC_NEXT_SNAT_IN2OUT_WH] = "snat-in2out-output-worker-handoff",
+     [SNAT_HAIRPIN_SRC_NEXT_SNAT_IN2OUT_WH] = "nat44-in2out-output-worker-handoff",
   },
 };
 
@@ -3430,23 +3430,23 @@ snat_in2out_fast_static_map_fn (vlib_main_t * vm,
 
 VLIB_REGISTER_NODE (snat_in2out_fast_node) = {
   .function = snat_in2out_fast_static_map_fn,
-  .name = "snat-in2out-fast",
+  .name = "nat44-in2out-fast",
   .vector_size = sizeof (u32),
   .format_trace = format_snat_in2out_fast_trace,
   .type = VLIB_NODE_TYPE_INTERNAL,
-  
+
   .n_errors = ARRAY_LEN(snat_in2out_error_strings),
   .error_strings = snat_in2out_error_strings,
 
   .runtime_data_bytes = sizeof (snat_runtime_t),
-  
+
   .n_next_nodes = SNAT_IN2OUT_N_NEXT,
 
   /* edit / add dispositions here */
   .next_nodes = {
     [SNAT_IN2OUT_NEXT_DROP] = "error-drop",
     [SNAT_IN2OUT_NEXT_LOOKUP] = "ip4-lookup",
-    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "snat-in2out-slowpath",
+    [SNAT_IN2OUT_NEXT_SLOW_PATH] = "nat44-in2out-slowpath",
     [SNAT_IN2OUT_NEXT_ICMP_ERROR] = "ip4-icmp-error",
   },
 };