Add special Twice-NAT feature (VPP-1221)
[vpp.git] / test / vpp_papi_provider.py
index c55f667..53be992 100644 (file)
@@ -1302,6 +1302,7 @@ class VppPapiProvider(object):
             vrf_id=0,
             protocol=0,
             twice_nat=0,
+            self_twice_nat=0,
             out2in_only=0,
             tag="",
             is_add=1):
@@ -1316,6 +1317,9 @@ class VppPapiProvider(object):
         :param vrf_id: VRF ID
         :param protocol: IP protocol (Default value = 0)
         :param twice_nat: 1 if translate external host address and port
+        :param self_twice_nat: 1 if translate external host address and port
+                               whenever external host address equals
+                               local address of internal host
         :param out2in_only: if 1 rule is matching only out2in direction
         :param tag: Opaque string tag
         :param is_add: 1 if add, 0 if delete (Default value = 1)
@@ -1332,6 +1336,7 @@ class VppPapiProvider(object):
              'vrf_id': vrf_id,
              'protocol': protocol,
              'twice_nat': twice_nat,
+             'self_twice_nat': self_twice_nat,
              'out2in_only': out2in_only,
              'tag': tag})
 
@@ -1496,6 +1501,7 @@ class VppPapiProvider(object):
             protocol,
             vrf_id=0,
             twice_nat=0,
+            self_twice_nat=0,
             out2in_only=0,
             tag='',
             local_num=0,
@@ -1515,6 +1521,7 @@ class VppPapiProvider(object):
              'protocol': protocol,
              'vrf_id': vrf_id,
              'twice_nat': twice_nat,
+             'self_twice_nat': self_twice_nat,
              'out2in_only': out2in_only,
              'tag': tag,
              'local_num': local_num,
@@ -2300,6 +2307,7 @@ class VppPapiProvider(object):
                           e_flags,
                           next_hop_afi,
                           next_hop_sw_if_index,
+                          next_hop_address,
                           i_flags,
                           bier_imp=0,
                           rpf_id=0,
@@ -2324,7 +2332,8 @@ class VppPapiProvider(object):
              'next_hop_afi': next_hop_afi,
              'grp_address_length': grp_address_length,
              'grp_address': grp_address,
-             'src_address': src_address})
+             'src_address': src_address,
+             'nh_address': next_hop_address})
 
     def mfib_signal_dump(self):
         return self.api(self.papi.mfib_signal_dump, {})
@@ -3532,3 +3541,23 @@ class VppPapiProvider(object):
         """
         return self.api(self.papi.sw_interface_vhost_user_dump,
                         {})
+
+    def abf_policy_add_del(self, is_add, policy):
+        return self.api(
+            self.papi.abf_policy_add_del,
+            {'is_add': is_add,
+             'policy': policy})
+
+    def abf_itf_attach_add_del(self, is_add, attach):
+        return self.api(
+            self.papi.abf_itf_attach_add_del,
+            {'is_add': is_add,
+             'attach': attach})
+
+    def abf_policy_dump(self):
+        return self.api(
+            self.papi.abf_policy_dump, {})
+
+    def abf_itf_attach_dump(self):
+        return self.api(
+            self.papi.abf_itf_attach_dump, {})