diff options
author | Matus Fabian <matfabia@cisco.com> | 2017-11-09 01:43:47 -0800 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2017-11-09 14:41:22 +0000 |
commit | 2769710f9f25f7881aeac75419c2ae817da0bc82 (patch) | |
tree | 917e9733ed5548e2fb81bda7da931751b2e2e10c /src/plugins/nat/nat.h | |
parent | c36ee5ffd99e7ed688566293251317771c174d51 (diff) |
Port restricted NAT44 (VPP-1048)
For the MAP-E CE limit port choice based on PSID
CLI: nat44 addr-port-assignment-alg map-e psid <n> psid-offset <n> psid-len <n>
Change-Id: Iecceee61fca372cb5790c16993a82fbdc9930f0f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'src/plugins/nat/nat.h')
-rw-r--r-- | src/plugins/nat/nat.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/nat/nat.h b/src/plugins/nat/nat.h index 5bd0a119f38..8178d76a4ac 100644 --- a/src/plugins/nat/nat.h +++ b/src/plugins/nat/nat.h @@ -269,6 +269,15 @@ typedef u32 snat_icmp_match_function_t (struct snat_main_s *sm, typedef u32 (snat_get_worker_function_t) (ip4_header_t * ip, u32 rx_fib_index); +typedef int nat_alloc_out_addr_and_port_function_t (snat_address_t * addresses, + u32 fib_index, + u32 thread_index, + snat_session_key_t * k, + u32 * address_indexp, + u8 vrf_mode, + u16 port_per_thread, + u32 snat_thread_index); + typedef struct snat_main_s { /* Endpoint address dependent sessions lookup tables */ clib_bihash_16_8_t out2in_ed; @@ -304,6 +313,10 @@ typedef struct snat_main_s { /* Vector of outside addresses */ snat_address_t * addresses; + nat_alloc_out_addr_and_port_function_t *alloc_addr_and_port; + u8 psid_offset; + u8 psid_length; + u16 psid; /* sw_if_indices whose intfc addresses should be auto-added */ u32 * auto_add_sw_if_indices; |