make "test-all" target pass again
[vpp.git] / test / vpp_papi_provider.py
index 3dd3482..c8954f8 100644 (file)
@@ -1247,6 +1247,35 @@ class VppPapiProvider(object):
              'vrf_id': vrf_id,
              'protocol': protocol})
 
+    def nat44_add_del_identity_mapping(
+            self,
+            ip='0',
+            sw_if_index=0xFFFFFFFF,
+            port=0,
+            addr_only=1,
+            vrf_id=0,
+            protocol=0,
+            is_add=1):
+        """Add/delete NAT44 identity mapping
+
+        :param ip: IP address (Default value = 0)
+        :param sw_if_index: Interface instead of IP address
+        :param port: Port number (Default value = 0)
+        :param addr_only: 1 if address only mapping, 0 if address and port
+        :param vrf_id: VRF ID
+        :param protocol: IP protocol (Default value = 0)
+        :param is_add: 1 if add, 0 if delete (Default value = 1)
+        """
+        return self.api(
+            self.papi.nat44_add_del_identity_mapping,
+            {'is_add': is_add,
+             'addr_only': addr_only,
+             'ip_address': ip,
+             'port': port,
+             'sw_if_index': sw_if_index,
+             'vrf_id': vrf_id,
+             'protocol': protocol})
+
     def nat44_add_del_address_range(
             self,
             first_ip_address,
@@ -1291,6 +1320,12 @@ class VppPapiProvider(object):
         """
         return self.api(self.papi.nat44_static_mapping_dump, {})
 
+    def nat44_identity_mapping_dump(self):
+        """Dump NAT44 identity mappings
+        :return: Dictionary of NAT44 identity mappings
+        """
+        return self.api(self.papi.nat44_identity_mapping_dump, {})
+
     def nat_show_config(self):
         """Show NAT plugin config
         :return: NAT plugin config parameters
@@ -2666,24 +2701,28 @@ class VppPapiProvider(object):
     def bier_route_add_del(self,
                            bti,
                            bp,
-                           next_hop,
-                           next_hop_label,
-                           next_hop_table_id,
-                           next_hop_is_ip4=1,
+                           paths,
                            is_add=1):
         """ BIER Route add/del """
+        br_paths = []
+        for p in paths:
+            br_paths.append({'next_hop': p.nh_addr,
+                             'weight': 1,
+                             'afi': 0,
+                             'preference': 0,
+                             'table_id': p.nh_table_id,
+                             'next_hop_id': p.next_hop_id,
+                             'is_udp_encap': p.is_udp_encap,
+                             'n_labels': len(p.nh_labels),
+                             'label_stack': p.nh_labels})
         return self.api(
             self.papi.bier_route_add_del,
             {'br_tbl_id': {"bt_set": bti.set_id,
                            "bt_sub_domain": bti.sub_domain_id,
                            "bt_hdr_len_id": bti.hdr_len_id},
              'br_bp': bp,
-             'br_n_paths': 1,
-             'br_paths': [{'next_hop': next_hop,
-                           'afi': 0,
-                           'n_labels': 1,
-                           'table_id': next_hop_table_id,
-                           'label_stack': [next_hop_label]}],
+             'br_n_paths': len(br_paths),
+             'br_paths': br_paths,
              'br_is_add': is_add})
 
     def bier_route_dump(self, bti):
@@ -2767,3 +2806,8 @@ class VppPapiProvider(object):
         return self.api(self.papi.add_node_next,
                         {'node_name': node_name,
                          'next_name': next_name})
+
+    def session_enable_disable(self, is_enabled):
+        return self.api(
+            self.papi.session_enable_disable,
+            {'is_enable': is_enabled})