test framework: vpp_papi_provider.py - further cleanup
[vpp.git] / test / test_dvr.py
index d508a8d..d2088ea 100644 (file)
@@ -1,18 +1,14 @@
 #!/usr/bin/env python
-import random
-import socket
 import unittest
 
 from framework import VppTestCase, VppTestRunner
-from vpp_sub_interface import VppSubInterface, VppDot1QSubint
-from vpp_ip_route import VppIpRoute, VppRoutePath, DpoProto, VppIpMRoute, \
-    VppMRoutePath, MRouteEntryFlags, MRouteItfFlags
-from vpp_papi_provider import L2_VTR_OP
+from vpp_sub_interface import VppDot1QSubint
+from vpp_ip_route import VppIpRoute, VppRoutePath
+from vpp_papi_provider import L2_VTR_OP, L2_PORT_TYPE
 
 from scapy.packet import Raw
-from scapy.layers.l2 import Ether, Dot1Q, ARP
+from scapy.layers.l2 import Ether, Dot1Q
 from scapy.layers.inet import IP, UDP
-from util import ppp
 from socket import AF_INET, inet_pton
 
 
@@ -23,7 +19,7 @@ class TestDVR(VppTestCase):
         super(TestDVR, self).setUp()
 
         self.create_pg_interfaces(range(4))
-        self.create_loopback_interfaces(range(1))
+        self.create_loopback_interfaces(1)
 
         for i in self.pg_interfaces:
             i.admin_up()
@@ -92,14 +88,17 @@ class TestDVR(VppTestCase):
         self.vapi.sw_interface_set_l2_bridge(self.pg1.sw_if_index, 1)
         self.vapi.sw_interface_set_l2_bridge(sub_if_on_pg2.sw_if_index, 1)
         self.vapi.sw_interface_set_l2_bridge(sub_if_on_pg3.sw_if_index, 1)
-        self.vapi.sw_interface_set_l2_bridge(self.loop0.sw_if_index, 1, bvi=1)
+        self.vapi.sw_interface_set_l2_bridge(self.loop0.sw_if_index, 1,
+                                             port_type=L2_PORT_TYPE.BVI)
 
-        self.vapi.sw_interface_set_l2_tag_rewrite(sub_if_on_pg2.sw_if_index,
-                                                  L2_VTR_OP.L2_POP_1,
-                                                  92)
-        self.vapi.sw_interface_set_l2_tag_rewrite(sub_if_on_pg3.sw_if_index,
-                                                  L2_VTR_OP.L2_POP_1,
-                                                  93)
+        self.vapi.l2_interface_vlan_tag_rewrite(
+            sub_if_on_pg2.sw_if_index,
+            L2_VTR_OP.L2_POP_1,
+            92)
+        self.vapi.l2_interface_vlan_tag_rewrite(
+            sub_if_on_pg3.sw_if_index,
+            L2_VTR_OP.L2_POP_1,
+            93)
 
         #
         # Add routes to bridge the traffic via a tagged an nontagged interface
@@ -212,7 +211,8 @@ class TestDVR(VppTestCase):
         self.vapi.sw_interface_set_l2_bridge(sub_if_on_pg3.sw_if_index,
                                              1, enable=0)
         self.vapi.sw_interface_set_l2_bridge(self.loop0.sw_if_index,
-                                             1, bvi=1, enable=0)
+                                             1, port_type=L2_PORT_TYPE.BVI,
+                                             enable=0)
 
         #
         # Do a FIB dump to make sure the paths are correctly reported as DVR
@@ -221,12 +221,10 @@ class TestDVR(VppTestCase):
 
         for r in routes:
             if (inet_pton(AF_INET, ip_tag_bridged) == r.address):
-                print r
                 self.assertEqual(r.path[0].sw_if_index,
                                  sub_if_on_pg3.sw_if_index)
                 self.assertEqual(r.path[0].is_dvr, 1)
             if (inet_pton(AF_INET, ip_non_tag_bridged) == r.address):
-                print r
                 self.assertEqual(r.path[0].sw_if_index,
                                  self.pg1.sw_if_index)
                 self.assertEqual(r.path[0].is_dvr, 1)
@@ -295,12 +293,14 @@ class TestDVR(VppTestCase):
         self.vapi.sw_interface_set_l2_bridge(self.pg1.sw_if_index, 1)
         self.vapi.sw_interface_set_l2_bridge(sub_if_on_pg2.sw_if_index, 1)
         self.vapi.sw_interface_set_l2_bridge(sub_if_on_pg3.sw_if_index, 1)
-        self.vapi.sw_interface_set_l2_tag_rewrite(sub_if_on_pg2.sw_if_index,
-                                                  L2_VTR_OP.L2_POP_1,
-                                                  92)
-        self.vapi.sw_interface_set_l2_tag_rewrite(sub_if_on_pg3.sw_if_index,
-                                                  L2_VTR_OP.L2_POP_1,
-                                                  93)
+        self.vapi.l2_interface_vlan_tag_rewrite(
+            sub_if_on_pg2.sw_if_index,
+            L2_VTR_OP.L2_POP_1,
+            92)
+        self.vapi.l2_interface_vlan_tag_rewrite(
+            sub_if_on_pg3.sw_if_index,
+            L2_VTR_OP.L2_POP_1,
+            93)
 
         #
         # Disable UU flooding, learning and ARP terminaation. makes this test
@@ -323,17 +323,17 @@ class TestDVR(VppTestCase):
         route_2.add_vpp_config()
 
         #
-        # packets are dropped because bridge does not flood unkown unicast
+        # packets are dropped because bridge does not flood unknown unicast
         #
         self.send_and_assert_no_replies(self.pg0, pkt_no_tag)
 
         #
         # Enable L3 extraction on pgs
         #
-        self.vapi.sw_interface_set_l2_emulation(self.pg0.sw_if_index)
-        self.vapi.sw_interface_set_l2_emulation(self.pg1.sw_if_index)
-        self.vapi.sw_interface_set_l2_emulation(sub_if_on_pg2.sw_if_index)
-        self.vapi.sw_interface_set_l2_emulation(sub_if_on_pg3.sw_if_index)
+        self.vapi.l2_emulation(self.pg0.sw_if_index)
+        self.vapi.l2_emulation(self.pg1.sw_if_index)
+        self.vapi.l2_emulation(sub_if_on_pg2.sw_if_index)
+        self.vapi.l2_emulation(sub_if_on_pg3.sw_if_index)
 
         #
         # now we expect the packet forward according to the DVR route
@@ -362,14 +362,14 @@ class TestDVR(VppTestCase):
         #
         # cleanup
         #
-        self.vapi.sw_interface_set_l2_emulation(self.pg0.sw_if_index,
-                                                enable=0)
-        self.vapi.sw_interface_set_l2_emulation(self.pg1.sw_if_index,
-                                                enable=0)
-        self.vapi.sw_interface_set_l2_emulation(sub_if_on_pg2.sw_if_index,
-                                                enable=0)
-        self.vapi.sw_interface_set_l2_emulation(sub_if_on_pg3.sw_if_index,
-                                                enable=0)
+        self.vapi.l2_emulation(self.pg0.sw_if_index,
+                               enable=0)
+        self.vapi.l2_emulation(self.pg1.sw_if_index,
+                               enable=0)
+        self.vapi.l2_emulation(sub_if_on_pg2.sw_if_index,
+                               enable=0)
+        self.vapi.l2_emulation(sub_if_on_pg3.sw_if_index,
+                               enable=0)
 
         self.vapi.sw_interface_set_l2_bridge(self.pg0.sw_if_index,
                                              1, enable=0)