NAT44: add opaque string tag to static mapping APIs (VPP-1147)
[vpp.git] / src / plugins / nat / nat.api
index 6ebe4e3..aff8f1d 100644 (file)
@@ -13,7 +13,7 @@
  * limitations under the License.
  */
 
-vl_api_version 2.1.0
+option version = "2.4.0";
 
 /**
  * @file nat.api
@@ -352,6 +352,8 @@ define nat44_interface_output_feature_details {
     @param vfr_id - VRF ID
     @param twice_nat - if 1 translate external host address and port, only for
                        1:1 NAPT (addr_only must be 0)
+    @param out2in_only - if 1 rule match only out2in direction
+    @param tag - opaque string tag
 */
 autoreply define nat44_add_del_static_mapping {
   u32 client_index;
@@ -366,6 +368,8 @@ autoreply define nat44_add_del_static_mapping {
   u32 external_sw_if_index;
   u32 vrf_id;
   u8 twice_nat;
+  u8 out2in_only;
+  u8 tag[64];
 };
 
 /** \brief Dump NAT44 static mappings
@@ -388,6 +392,8 @@ define nat44_static_mapping_dump {
     @param external_sw_if_index - external interface
     @param vfr_id - VRF ID
     @param twice_nat - if 1 translate external host address and port
+    @param out2in_only - if 1 rule match only out2in direction
+    @param tag - opaque string tag
 */
 define nat44_static_mapping_details {
   u32 context;
@@ -400,6 +406,8 @@ define nat44_static_mapping_details {
   u32 external_sw_if_index;
   u32 vrf_id;
   u8 twice_nat;
+  u8 out2in_only;
+  u8 tag[64];
 };
 
 /** \brief Add/delete NAT44 identity mapping
@@ -413,6 +421,7 @@ define nat44_static_mapping_details {
     @param sw_if_index - interface (if set ip_address is ignored, ~0 means not
                                     used)
     @param vfr_id - VRF ID (if ~0 use default VRF)
+    @param tag - opaque string tag
 */
 autoreply define nat44_add_del_identity_mapping {
   u32 client_index;
@@ -424,6 +433,7 @@ autoreply define nat44_add_del_identity_mapping {
   u16 port;
   u32 sw_if_index;
   u32 vrf_id;
+  u8 tag[64];
 };
 
 /** \brief Dump NAT44 identity mappings
@@ -443,6 +453,7 @@ define nat44_identity_mapping_dump {
     @param port - port number
     @param sw_if_index - interface
     @param vfr_id - VRF ID
+    @param tag - opaque string tag
 */
 define nat44_identity_mapping_details {
   u32 context;
@@ -452,6 +463,7 @@ define nat44_identity_mapping_details {
   u16 port;
   u32 sw_if_index;
   u32 vrf_id;
+  u8 tag[64];
 };
 
 /** \brief Add/delete NAT44 pool address from specific interfce
@@ -567,6 +579,8 @@ autoreply manual_endian define nat44_add_del_lb_static_mapping {
   u8 protocol;
   u32 vrf_id;
   u8 twice_nat;
+  u8 out2in_only;
+  u8 tag[64];
   u8 local_num;
   vl_api_nat44_lb_addr_port_t locals[local_num];
 };
@@ -583,6 +597,8 @@ manual_endian define nat44_lb_static_mapping_details {
   u8 protocol;
   u32 vrf_id;
   u8 twice_nat;
+  u8 out2in_only;
+  u8 tag[64];
   u8 local_num;
   vl_api_nat44_lb_addr_port_t locals[local_num];
 };