X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fnat%2Fnat.api;h=10e7036608cbe58be974a38d53f0a057e5c1bfcb;hb=61717cc38f321df3e28464336ac4e570aa47b490;hp=8cf26d4900d7a5d0ada9e3dc1ec9fc5b7b56b124;hpb=e5ff5a36dd126ee57dca4e0b03da2f7704e0a4f5;p=vpp.git diff --git a/src/plugins/nat/nat.api b/src/plugins/nat/nat.api index 8cf26d4900d..10e7036608c 100644 --- a/src/plugins/nat/nat.api +++ b/src/plugins/nat/nat.api @@ -110,14 +110,14 @@ define nat_show_config_reply u32 translation_buckets; u32 translation_memory_size; u32 user_buckets; - u32 user_memory_size; + u64 user_memory_size; u32 max_translations_per_user; u32 outside_vrf_id; u32 inside_vrf_id; u32 nat64_bib_buckets; - u32 nat64_bib_memory_size; + u64 nat64_bib_memory_size; u32 nat64_st_buckets; - u32 nat64_st_memory_size; + u64 nat64_st_memory_size; }; enum nat_log_level : u8 @@ -130,6 +130,15 @@ enum nat_log_level : u8 NAT_LOG_DEBUG = 0x05, }; +/** \brief Run nat44 garbage collection + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +autoreply define nat44_session_cleanup { + u32 client_index; + u32 context; +}; + /** \brief Set NAT logging level @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -189,85 +198,6 @@ autoreply define nat_ipfix_enable_disable { bool enable; }; -/** \brief Set NAT virtual fragmentation reassembly - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param timeout - reassembly timeout - @param max_reass - maximum number of concurrent reassemblies - @param max_frag - maximum number of fragmets per reassembly - @param drop_frag - if 0 translate fragments, otherwise drop fragments - @param is_ip6 - true if IPv6, false if IPv4 -*/ -autoreply define nat_set_reass { - u32 client_index; - u32 context; - u32 timeout; - u16 max_reass; - u8 max_frag; - u8 drop_frag; - bool is_ip6; -}; - -/** \brief Get NAT virtual fragmentation reassembly configuration - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define nat_get_reass { - u32 client_index; - u32 context; -}; - -/** \brief Get NAT virtual fragmentation reassembly configuration reply - @param context - sender context, to match reply w/ request - @param retval - return code - @param ip4_timeout - reassembly timeout - @param ip4_max_reass - maximum number of concurrent reassemblies - @param ip4_max_frag - maximum number of fragmets per reassembly - @param ip4_drop_frag - if 0 translate fragments, otherwise drop fragments - @param ip6_timeout - reassembly timeout - @param ip6_max_reass - maximum number of concurrent reassemblies - @param ip6_max_frag - maximum number of fragmets per reassembly - @param ip6_drop_frag - if 0 translate fragments, otherwise drop fragments -*/ -define nat_get_reass_reply { - u32 context; - i32 retval; - u32 ip4_timeout; - u16 ip4_max_reass; - u8 ip4_max_frag; - u8 ip4_drop_frag; - u32 ip6_timeout; - u16 ip6_max_reass; - u8 ip6_max_frag; - u8 ip6_drop_frag; -}; - -/** \brief Dump NAT virtual fragmentation reassemblies - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define nat_reass_dump { - u32 client_index; - u32 context; -}; - -/** \brief NAT virtual fragmentation reassemblies response - @param context - sender context, to match reply w/ request - @param src_addr - source IPv4 address - @param dst_addr - destination IPv4 address - @param frag_id - fragment ID - @param proto - protocol - @param frag_n - number of cached fragments -*/ -define nat_reass_details { - u32 context; - vl_api_address_t src_addr; - vl_api_address_t dst_addr; - u32 frag_id; - u8 proto; - u8 frag_n; -}; - /** \brief Set values of timeouts for NAT sessions (seconds) @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -526,6 +456,19 @@ service { * NAT44 APIs */ +/** \brief Del NAT44 user + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param ip_address - IPv4 address + @param fib_index - FIB index +*/ +autoreply define nat44_del_user { + u32 client_index; + u32 context; + vl_api_ip4_address_t ip_address; + u32 fib_index; +}; + /** \brief Add/del NAT44 address range @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -1443,113 +1386,6 @@ autoreply define nat64_add_del_interface_addr { vl_api_interface_index_t sw_if_index; }; -/* - * DS-Lite APIs - */ - -/** \brief Add/delete address range to DS-Lite pool - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param start_addr - start IPv4 address of the range - @param end_addr - end IPv4 address of the range - @param is_add - true if add, false if delete -*/ -autoreply define dslite_add_del_pool_addr_range { - u32 client_index; - u32 context; - vl_api_ip4_address_t start_addr; - vl_api_ip4_address_t end_addr; - bool is_add; -}; - -/** \brief Dump DS-Lite addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define dslite_address_dump { - u32 client_index; - u32 context; -}; - -/** \brief DS-Lite address details response - @param context - sender context, to match reply w/ request - @param ip_address - IPv4 address -*/ -define dslite_address_details { - u32 context; - vl_api_ip4_address_t ip_address; -}; - -/** \brief Set AFTR IPv6 and IPv4 addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param ip4_addr - IPv4 address - @param ip6_addr - IPv6 address -*/ -autoreply define dslite_set_aftr_addr { - u32 client_index; - u32 context; - vl_api_ip4_address_t ip4_addr; - vl_api_ip6_address_t ip6_addr; -}; - -/** \brief Get AFTR IPv6 and IPv4 addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define dslite_get_aftr_addr { - u32 client_index; - u32 context; -}; - -/** \brief Response to get AFTR IPv6 and IPv4 addresses - @param context - sender context, to match reply w/ request - @param retval - return code - @param ip4_addr - IPv4 address - @param ip6_addr - IPv6 address -*/ -define dslite_get_aftr_addr_reply { - u32 context; - i32 retval; - vl_api_ip4_address_t ip4_addr; - vl_api_ip6_address_t ip6_addr; -}; - -/** \brief Set B4 IPv6 and IPv4 addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param ip4_addr - IPv4 address - @param ip6_addr - IPv6 address -*/ -autoreply define dslite_set_b4_addr { - u32 client_index; - u32 context; - vl_api_ip4_address_t ip4_addr; - vl_api_ip6_address_t ip6_addr; -}; - -/** \brief Get B4 IPv6 and IPv4 addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define dslite_get_b4_addr { - u32 client_index; - u32 context; -}; - -/** \brief Response to get B4 IPv6 and IPv4 addresses - @param context - sender context, to match reply w/ request - @param retval - return code - @param ip4_addr - IPv4 address - @param ip6_addr - IPv6 address -*/ -define dslite_get_b4_addr_reply { - u32 context; - i32 retval; - vl_api_ip4_address_t ip4_addr; - vl_api_ip6_address_t ip6_addr; -}; - /* * NAT66 APIs */