X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat44-ed%2Fnat44_ed.api;h=bff00b809e0999666144c62459038c49642feee9;hb=f059a3452;hp=6a2d44a6b9ccb88b2659dceca936ec55e5b002d0;hpb=0eaf4e6784efb2d058fe2f031578251b6bcc0aa8;p=vpp.git diff --git a/src/plugins/nat/nat44-ed/nat44_ed.api b/src/plugins/nat/nat44-ed/nat44_ed.api index 6a2d44a6b9c..bff00b809e0 100644 --- a/src/plugins/nat/nat44-ed/nat44_ed.api +++ b/src/plugins/nat/nat44-ed/nat44_ed.api @@ -13,7 +13,7 @@ * limitations under the License. */ -option version = "5.2.0"; +option version = "5.4.0"; import "vnet/ip/ip_types.api"; import "vnet/interface_types.api"; import "plugins/nat/lib/nat_types.api"; @@ -56,6 +56,7 @@ enum nat44_config_flags : u8 NAT44_IS_OUT2IN_DPO */ autoreply define nat44_plugin_enable_disable { + option deprecated; u32 client_index; u32 context; u32 inside_vrf; @@ -69,6 +70,29 @@ autoreply define nat44_plugin_enable_disable { vl_api_nat44_config_flags_t flags; }; +/** \brief Enable/disable NAT44ED plugin + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param inside_vrf - inside vrf id + @param outside_vrf - outside vrf id + @param sessions - maximum number of sessions per thread + @param session_memory - overwrite hash allocation parameter + @param enable - true if enable, false if disable + @param flags - flag NAT44_IS_STATIC_MAPPING_ONLY, + NAT44_IS_CONNECTION_TRACKING +*/ +autoreply define nat44_ed_plugin_enable_disable { + option in_progress; + u32 client_index; + u32 context; + u32 inside_vrf; + u32 outside_vrf; + u32 sessions; + u32 session_memory; + bool enable; + vl_api_nat44_config_flags_t flags; +}; + /** \brief Control ping from client to api server request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1016,6 +1040,62 @@ define nat44_user_session_details { u16 ext_host_nat_port; }; +/** \brief NAT44 user's sessions + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param ip_address - IPv4 address of the user to dump + @param vrf_id - VRF_ID +*/ +define nat44_user_session_v2_dump { + option in_progress; + u32 client_index; + u32 context; + vl_api_ip4_address_t ip_address; + u32 vrf_id; +}; + +/** \brief NAT44 user's sessions response + @param context - sender context, to match reply w/ request + @param outside_ip_address - outside IPv4 address + @param outside_port - outside port + @param inside_ip_address - inside IPv4 address + @param inside_port - inside port + @param protocol - protocol + @param flags - flag NAT_IS_STATIC if session is static, + flag NAT_IS_TWICE_NAT if session is twice-nat, + flag NAT_IS_EXT_HOST_VALID if external host address + and port are valid + @param last_heard - last heard timer + @param total_bytes - count of bytes sent through session + @param total_pkts - count of pakets sent through session + @param ext_host_address - external host IPv4 address + @param ext_host_port - external host port + @param ext_host_nat_address - post-NAT external host IPv4 address (valid + only if twice-nat session) + @param ext_host_nat_port - post-NAT external host port (valid only if + twice-nat session) + @param is_timed_out - true, if session is timed out, and false, if session + is active +*/ +define nat44_user_session_v2_details { + option in_progress; + u32 context; + vl_api_ip4_address_t outside_ip_address; + u16 outside_port; + vl_api_ip4_address_t inside_ip_address; + u16 inside_port; + u16 protocol; + vl_api_nat_config_flags_t flags; + u64 last_heard; + u64 total_bytes; + u32 total_pkts; + vl_api_ip4_address_t ext_host_address; + u16 ext_host_port; + vl_api_ip4_address_t ext_host_nat_address; + u16 ext_host_nat_port; + bool is_timed_out; +}; + /** \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