X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat.h;h=ff7888a91284f33f7ecb8c49fe19a8a38070dda4;hb=240b5ef57cc79cf32934ba8f218de29b6685406b;hp=5a2d0855e9b7e4e9aa13d3682f34c1d90ec6ac1e;hpb=b932d26ea48ba8aa7677dc3b6ffd5d4729176c8f;p=vpp.git diff --git a/src/plugins/nat/nat.h b/src/plugins/nat/nat.h index 5a2d0855e9b..ff7888a9128 100644 --- a/src/plugins/nat/nat.h +++ b/src/plugins/nat/nat.h @@ -217,6 +217,7 @@ typedef struct { u16 external_port; u8 addr_only; u8 twice_nat; + u8 out2in_only; u32 vrf_id; u32 fib_index; snat_protocol_t proto; @@ -350,10 +351,14 @@ typedef struct snat_main_s { /* Deterministic NAT */ snat_det_map_t * det_maps; + /* If forwarding is enabled */ + u8 forwarding_enabled; + /* Config parameters */ u8 static_mapping_only; u8 static_mapping_connection_tracking; u8 deterministic; + u8 out2in_dpo; u32 translation_buckets; u32 translation_memory_size; u32 max_translations; @@ -536,6 +541,7 @@ void snat_add_address(snat_main_t *sm, ip4_address_t *addr, u32 vrf_id, u8 twice_nat); int snat_del_address(snat_main_t *sm, ip4_address_t addr, u8 delete_sm, u8 twice_nat); +void nat44_add_del_address_dpo (ip4_address_t addr, u8 is_add); int snat_add_static_mapping(ip4_address_t l_addr, ip4_address_t e_addr, u16 l_port, u16 e_port, u32 vrf_id, int addr_only, u32 sw_if_index, snat_protocol_t proto, int is_add, @@ -552,7 +558,7 @@ u8 * format_snat_protocol(u8 * s, va_list * args); int nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port, snat_protocol_t proto, u32 vrf_id, nat44_lb_addr_port_t *locals, u8 is_add, - u8 twice_nat); + u8 twice_nat, u8 out2in_only); int nat44_del_session (snat_main_t *sm, ip4_address_t *addr, u16 port, snat_protocol_t proto, u32 vrf_id, int is_in); void nat_free_session_data (snat_main_t * sm, snat_session_t * s,