X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat.h;h=0d51109175f79f38f079a5994db0485043748d88;hb=c6c0d2a077a77a126d642ff12dd326222cf13a7a;hp=bd00a5246ddc006fc1825a59b533f9bc656ebea3;hpb=a6110b6ea5a066b64005347850f61df9a2000fe9;p=vpp.git diff --git a/src/plugins/nat/nat.h b/src/plugins/nat/nat.h index bd00a5246dd..0d51109175f 100644 --- a/src/plugins/nat/nat.h +++ b/src/plugins/nat/nat.h @@ -202,6 +202,11 @@ typedef struct { #undef _ } snat_address_t; +typedef struct { + u32 fib_index; + u32 refcount; +} nat_outside_fib_t; + typedef struct { u16 in_port; snat_det_out_key_t out; @@ -226,6 +231,8 @@ typedef struct { u16 port; u8 probability; u8 prefix; + u32 vrf_id; + u32 fib_index; } nat44_lb_addr_port_t; typedef enum { @@ -350,6 +357,9 @@ typedef struct snat_main_s { u8 psid_length; u16 psid; + /* vector of outside fibs */ + nat_outside_fib_t * outside_fibs; + /* Vector of twice NAT addresses for extenal hosts */ snat_address_t * twice_nat_addresses; @@ -602,7 +612,7 @@ int snat_add_interface_address(snat_main_t *sm, u32 sw_if_index, int is_del, uword unformat_snat_protocol(unformat_input_t * input, va_list * args); 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, + snat_protocol_t proto, nat44_lb_addr_port_t *locals, u8 is_add, twice_nat_type_t twice_nat, u8 out2in_only, u8 *tag);