nat: use SVR
[vpp.git] / src / plugins / nat / nat.api
index bd880a6..356dd0c 100644 (file)
@@ -13,7 +13,7 @@
  * limitations under the License.
  */
 
-option version = "5.1.0";
+option version = "5.2.0";
 import "vnet/ip/ip_types.api";
 import "vnet/interface_types.api";
 
@@ -171,7 +171,7 @@ define nat_worker_details {
   u32 context;
   u32 worker_index;
   u32 lcore_id;
-  string name;
+  string name[64];
 };
 
 /** \brief Enable/disable NAT IPFIX logging
@@ -189,85 +189,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
@@ -678,7 +599,7 @@ autoreply define nat44_add_del_static_mapping {
   u16 external_port;
   vl_api_interface_index_t external_sw_if_index;
   u32 vrf_id;
-  string tag;
+  string tag[64];
 };
 
 /** \brief Dump NAT44 static mappings
@@ -717,7 +638,7 @@ define nat44_static_mapping_details {
   u16 external_port;
   vl_api_interface_index_t external_sw_if_index;
   u32 vrf_id;
-  string tag;
+  string tag[64];
 };
 
 /** \brief Add/delete NAT44 identity mapping
@@ -743,7 +664,7 @@ autoreply define nat44_add_del_identity_mapping {
   u16 port;
   vl_api_interface_index_t sw_if_index;
   u32 vrf_id;
-  string tag;
+  string tag[64];
 };
 
 /** \brief Dump NAT44 identity mappings
@@ -773,7 +694,7 @@ define nat44_identity_mapping_details {
   u16 port;
   vl_api_interface_index_t sw_if_index;
   u32 vrf_id;
-  string tag;
+  string tag[64];
 };
 
 /** \brief Add/delete NAT44 pool address from specific interfce
@@ -927,9 +848,9 @@ autoreply manual_endian define nat44_add_del_lb_static_mapping {
   u16 external_port;
   u8 protocol;
   u32 affinity;
+  string tag[64];
   u32 local_num;
   vl_api_nat44_lb_addr_port_t locals[local_num];
-  string tag;
 };
 
 /** \brief Add/delete NAT44 load-balancing static mapping rule backend
@@ -983,9 +904,9 @@ manual_endian define nat44_lb_static_mapping_details {
   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];
-  string tag;
 };
 
 /** \brief Delete NAT44 session