nat: use correct data types for memory sizes
[vpp.git] / test / vpp_bier.py
index f389ca1..6e087a8 100644 (file)
@@ -38,10 +38,10 @@ def find_bier_table(test, bti):
 def find_bier_route(test, bti, bp):
     routes = test.vapi.bier_route_dump(bti)
     for r in routes:
-        if bti.set_id == r.br_tbl_id.bt_set \
-           and bti.sub_domain_id == r.br_tbl_id.bt_sub_domain \
-           and bti.hdr_len_id == r.br_tbl_id.bt_hdr_len_id \
-           and bp == r.br_bp:
+        if bti.set_id == r.br_route.br_tbl_id.bt_set \
+           and bti.sub_domain_id == r.br_route.br_tbl_id.bt_sub_domain \
+           and bti.hdr_len_id == r.br_route.br_tbl_id.bt_hdr_len_id \
+           and bp == r.br_route.br_bp:
             return True
     return False
 
@@ -97,9 +97,6 @@ class VppBierTable(VppObject):
             self.mpls_label,
             is_add=0)
 
-    def __str__(self):
-        return self.object_id()
-
     def object_id(self):
         return "bier-table;[%d:%d:%d]" % (self.id.set_id,
                                           self.id.sub_domain_id,
@@ -119,39 +116,15 @@ class VppBierRoute(VppObject):
         self.tbl_id = tbl_id
         self.bp = bp
         self.paths = paths
-
-    def encode_path(self, p):
-        lstack = []
-        for l in p.nh_labels:
-            if type(l) == VppMplsLabel:
-                lstack.append(l.encode())
-            else:
-                lstack.append({'label': l, 'ttl': 255})
-        n_labels = len(lstack)
-        while (len(lstack) < 16):
-            lstack.append({})
-        return {'next_hop': p.nh_addr,
-                'weight': 1,
-                'afi': p.proto,
-                'sw_if_index': 0xffffffff,
-                'preference': 0,
-                'table_id': p.nh_table_id,
-                'next_hop_id': p.next_hop_id,
-                'is_udp_encap': p.is_udp_encap,
-                'n_labels': n_labels,
-                'label_stack': lstack}
-
-    def encode_paths(self):
-        br_paths = []
-        for p in self.paths:
-            br_paths.append(self.encode_path(p))
-        return br_paths
+        self.encoded_paths = []
+        for path in self.paths:
+            self.encoded_paths.append(path.encode())
 
     def add_vpp_config(self):
         self._test.vapi.bier_route_add_del(
             self.tbl_id,
             self.bp,
-            self.encode_paths(),
+            self.encoded_paths,
             is_add=1)
         self._test.registry.register(self, self._test.logger)
 
@@ -159,32 +132,37 @@ class VppBierRoute(VppObject):
         self._test.vapi.bier_route_add_del(
             self.tbl_id,
             self.bp,
-            self.encode_paths(),
+            self.encoded_paths,
             is_add=0)
 
     def update_paths(self, paths):
         self.paths = paths
+        self.encoded_paths = []
+        for path in self.paths:
+            self.encoded_paths.append(path.encode())
         self._test.vapi.bier_route_add_del(
             self.tbl_id,
             self.bp,
-            self.encode_paths(),
+            self.encoded_paths,
             is_replace=1)
 
     def add_path(self, path):
+        self.encoded_paths.append(path.encode())
         self._test.vapi.bier_route_add_del(
             self.tbl_id,
             self.bp,
-            [self.encode_path(path)],
+            [path.encode()],
             is_add=1,
             is_replace=0)
         self.paths.append(path)
         self._test.registry.register(self, self._test.logger)
 
     def remove_path(self, path):
+        self.encoded_paths.remove(path.encode())
         self._test.vapi.bier_route_add_del(
             self.tbl_id,
             self.bp,
-            [self.encode_path(path)],
+            [path.encode()],
             is_add=0,
             is_replace=0)
         self.paths.remove(path)
@@ -198,9 +176,6 @@ class VppBierRoute(VppObject):
             is_replace=1)
         self.paths = []
 
-    def __str__(self):
-        return self.object_id()
-
     def object_id(self):
         return "bier-route;[%d:%d:%d:%d]" % (self.tbl_id.set_id,
                                              self.tbl_id.sub_domain_id,
@@ -234,9 +209,6 @@ class VppBierImp(VppObject):
         self._test.vapi.bier_imp_del(
             self.bi_index)
 
-    def __str__(self):
-        return self.object_id()
-
     def object_id(self):
         return "bier-imp;[%d:%d:%d:%d]" % (self.tbl_id.set_id,
                                            self.tbl_id.sub_domain_id,
@@ -267,9 +239,6 @@ class VppBierDispTable(VppObject):
             self.id,
             is_add=0)
 
-    def __str__(self):
-        return self.object_id()
-
     def object_id(self):
         return "bier-disp-table;[%d]" % (self.id)
 
@@ -316,9 +285,6 @@ class VppBierDispEntry(VppObject):
             self.rpf_id,
             is_add=0)
 
-    def __str__(self):
-        return self.object_id()
-
     def object_id(self):
         return "bier-disp-entry;[%d:%d]" % (self.tbl_id,
                                             self.bp)