-/** \brief NAT44 load-balancing address and port pair
- @param addr - IPv4 address of the internal node
- @param port - L4 port number of the internal node
- @param probability - probability of the internal node to be randomly matched
- @param vrf_id - VRF id
-*/
-typedef nat44_lb_addr_port {
- vl_api_ip4_address_t addr;
- u16 port;
- u8 probability;
- u32 vrf_id;
-};
-
-/** \brief Add/delete NAT44 load-balancing static mapping rule
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - true if add, false if delete
- @param flags - flag NAT_TWICE_NAT if NAT address range for external hosts,
- flag NAT_SELF_TWICE_NAT if translate external host address
- and port whenever external host address equals local
- address of internal host,
- flag NAT_OUT2IN_ONLY if rule match only out2in direction
- @param external_addr - external IPv4 address of the service
- @param external_port - external L4 port number of the service
- @param protocol - IP protocol number of the service
- @param affinity - if 0 disabled, otherwise client IP affinity sticky time
- in seconds
- @param local_num - number of local network nodes
- @param locals - local network nodes
- @param tag - opaque string tag
-*/
-autoreply define nat44_add_del_lb_static_mapping {
- u32 client_index;
- u32 context;
- bool is_add;
- vl_api_nat_config_flags_t flags;
- vl_api_ip4_address_t external_addr;
- u16 external_port;
- u8 protocol;
- u32 affinity;
- string tag[64];
- u32 local_num;
- vl_api_nat44_lb_addr_port_t locals[local_num];
-};
-
-/** \brief Add/delete NAT44 load-balancing static mapping rule backend
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
- @param is_add - true if add, false if delete
- @param external_addr - external IPv4 address of the service
- @param external_port - external L4 port number of the service
- @param protocol - IP protocol number of the service
- @param local - local network node
-*/
-autoreply define nat44_lb_static_mapping_add_del_local {
- u32 client_index;
- u32 context;
- bool is_add;
- vl_api_ip4_address_t external_addr;
- u16 external_port;
- u8 protocol;
- vl_api_nat44_lb_addr_port_t local;
-};
-
-/** \brief Dump NAT44 load-balancing static mapping rules
- @param client_index - opaque cookie to identify the sender
- @param context - sender context, to match reply w/ request
-*/
-define nat44_lb_static_mapping_dump {
- u32 client_index;
- u32 context;
-};
-
-/** \brief NAT44 load-balancing static mapping rule details response
- @param context - sender context, to match reply w/ request
- @param external_addr - external IPv4 address of the service
- @param external_port - external L4 port number of the service
- @param protocol - IP protocol number of the service
- @param flags - flag NAT_TWICE_NAT if NAT address range for external hosts,
- flag NAT_SELF_TWICE_NAT if translate external host address
- and port whenever external host address equals local
- address of internal host,
- flag NAT_OUT2IN_ONLY if rule match only out2in direction
- @param affinity - if 0 disabled, otherwise client IP affinity sticky time
- in seconds
- @param local_num - number of local network nodes
- @param locals - local network nodes
- @param tag - opaque string tag
-*/
-define nat44_lb_static_mapping_details {
- u32 context;
- vl_api_ip4_address_t external_addr;
- u16 external_port;
- u8 protocol;
- vl_api_nat_config_flags_t flags;
- u32 affinity;
- string tag[64];
- u32 local_num;
- vl_api_nat44_lb_addr_port_t locals[local_num];
-};
-
-/** \brief Delete NAT44 session
- @param client_index - opaque cookie to identify the sender