nat: refactor and split fo EI/ED features p.2
[vpp.git] / src / plugins / nat / nat44_cli.c
index ca396fd..adcf324 100644 (file)
@@ -24,7 +24,9 @@
 #include <nat/nat44/inlines.h>
 #include <nat/nat_affinity.h>
 #include <vnet/fib/fib_table.h>
-#include <nat/nat_ha.h>
+
+#include <nat/nat44-ei/nat44_ei_ha.h>
+#include <nat/nat44-ei/nat44_ei.h>
 
 #define UNSUPPORTED_IN_ED_MODE_STR \
   "This command is unsupported in endpoint dependent mode"
@@ -42,8 +44,6 @@ nat44_enable_command_fn (vlib_main_t * vm,
   nat44_config_t c = { 0 };
   u8 mode_set = 0;
 
-  // TODO: check this also inside the function so it can be
-  //       safely called from anyplace, also sanity checking required
   if (sm->enabled)
     return clib_error_return (0, "nat44 already enabled");
 
@@ -354,13 +354,13 @@ nat44_set_alloc_addr_and_port_alg_command_fn (vlib_main_t * vm,
   while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
     {
       if (unformat (line_input, "default"))
-       nat_set_alloc_addr_and_port_default ();
+       nat44_ei_set_alloc_default ();
       else
        if (unformat
            (line_input, "map-e psid %d psid-offset %d psid-len %d", &psid,
             &psid_offset, &psid_length))
-       nat_set_alloc_addr_and_port_mape ((u16) psid, (u16) psid_offset,
-                                         (u16) psid_length);
+       nat44_ei_set_alloc_mape ((u16) psid, (u16) psid_offset,
+                                (u16) psid_length);
       else
        if (unformat
            (line_input, "port-range %d - %d", &port_start, &port_end))
@@ -372,8 +372,7 @@ nat44_set_alloc_addr_and_port_alg_command_fn (vlib_main_t * vm,
                                   "The end-port must be greater than start-port");
              goto done;
            }
-         nat_set_alloc_addr_and_port_range ((u16) port_start,
-                                            (u16) port_end);
+         nat44_ei_set_alloc_range ((u16) port_start, (u16) port_end);
        }
       else
        {
@@ -1147,11 +1146,10 @@ add_static_mapping_command_fn (vlib_main_t * vm,
       goto done;
     }
 
-  rv = snat_add_static_mapping (l_addr, e_addr, clib_host_to_net_u16 (l_port),
-                               clib_host_to_net_u16 (e_port),
-                               vrf_id, addr_only, sw_if_index, proto, is_add,
-                               twice_nat, out2in_only, 0, 0, exact_addr,
-                               exact);
+  rv = snat_add_static_mapping (
+    l_addr, e_addr, clib_host_to_net_u16 (l_port),
+    clib_host_to_net_u16 (e_port), vrf_id, addr_only, sw_if_index, proto,
+    is_add, twice_nat, out2in_only, 0, 0, exact_addr, exact);
 
   switch (rv)
     {
@@ -1229,11 +1227,9 @@ add_identity_mapping_command_fn (vlib_main_t * vm,
        }
     }
 
-  rv =
-    snat_add_static_mapping (addr, addr, clib_host_to_net_u16 (port),
-                            clib_host_to_net_u16 (port), vrf_id, addr_only,
-                            sw_if_index, proto, is_add, 0, 0, 0, 1,
-                            pool_addr, 0);
+  rv = snat_add_static_mapping (
+    addr, addr, clib_host_to_net_u16 (port), clib_host_to_net_u16 (port),
+    vrf_id, addr_only, sw_if_index, proto, is_add, 0, 0, 0, 1, pool_addr, 0);
 
   switch (rv)
     {
@@ -1778,9 +1774,8 @@ nat44_del_session_command_fn (vlib_main_t * vm,
                            clib_host_to_net_u16 (eh_port),
                            nat_proto_to_ip_proto (proto), vrf_id, is_in);
   else
-    rv =
-      nat44_del_session (sm, &addr, clib_host_to_net_u16 (port), proto,
-                        vrf_id, is_in);
+    rv = nat44_ei_del_session (sm, &addr, clib_host_to_net_u16 (port), proto,
+                              vrf_id, is_in);
 
   switch (rv)
     {