NAT66 1:1 mapping (VPP-1108)
[vpp.git] / src / plugins / nat / nat.c
index 38caae4..314fadf 100644 (file)
@@ -24,6 +24,7 @@
 #include <nat/nat_ipfix_logging.h>
 #include <nat/nat_det.h>
 #include <nat/nat64.h>
+#include <nat/nat66.h>
 #include <nat/dslite.h>
 #include <nat/nat_reass.h>
 #include <vnet/fib/fib_table.h>
@@ -774,7 +775,7 @@ int snat_add_static_mapping(ip4_address_t l_addr, ip4_address_t e_addr,
                 }
             }
           /* External address must be allocated */
-          if (!a)
+          if (!a && (l_addr.as_u32 != e_addr.as_u32))
             return VNET_API_ERROR_NO_SUCH_ENTRY;
         }
 
@@ -1779,6 +1780,8 @@ static clib_error_t * snat_init (vlib_main_t * vm)
 
   dslite_init(vm);
 
+  nat66_init();
+
   /* Init virtual fragmenentation reassembly */
   return nat_reass_init(vm);
 }