igmp: make sure fib_index is set before delivering to ip4-local
[vpp.git] / test / test_srv6_as.py
old mode 100755 (executable)
new mode 100644 (file)
index 6b8e23c..eec44e3
@@ -1,11 +1,11 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
 import unittest
 import binascii
 from socket import AF_INET6
 
 from framework import VppTestCase, VppTestRunner
-from vpp_ip_route import VppIpRoute, VppRoutePath, DpoProto, VppIpTable
+from vpp_ip_route import VppIpRoute, VppRoutePath, FibPathProto, VppIpTable
 from vpp_srv6 import SRv6LocalSIDBehaviors, VppSRv6LocalSID, VppSRv6Policy, \
     SRv6PolicyType, VppSRv6Steering, SRv6PolicySteeringTypes
 
@@ -15,8 +15,6 @@ from scapy.layers.l2 import Ether, Dot1Q
 from scapy.layers.inet6 import IPv6, UDP, IPv6ExtHdrSegmentRouting
 from scapy.layers.inet import IP, UDP
 
-from scapy.utils import inet_pton, inet_ntop
-
 from util import ppp
 
 
@@ -27,6 +25,10 @@ class TestSRv6(VppTestCase):
     def setUpClass(self):
         super(TestSRv6, self).setUpClass()
 
+    @classmethod
+    def tearDownClass(cls):
+        super(TestSRv6, cls).tearDownClass()
+
     def setUp(self):
         """ Perform test setup before each test case.
         """
@@ -112,7 +114,7 @@ class TestSRv6(VppTestCase):
         if any(ipv6):
             self.logger.debug(self.vapi.cli("show ip6 neighbors"))
         if any(ipv4):
-            self.logger.debug(self.vapi.cli("show ip arp"))
+            self.logger.debug(self.vapi.cli("show ip4 neighbors"))
         self.logger.debug(self.vapi.cli("show interface"))
         self.logger.debug(self.vapi.cli("show hardware"))
 
@@ -192,9 +194,7 @@ class TestSRv6(VppTestCase):
         # configure route to next segment
         route = VppIpRoute(self, sid_list[test_sid_index + 1], 128,
                            [VppRoutePath(self.pg0.remote_ip6,
-                                         self.pg0.sw_if_index,
-                                         proto=DpoProto.DPO_PROTO_IP6)],
-                           is_ip6=1)
+                                         self.pg0.sw_if_index)])
         route.add_vpp_config()
 
         # configure SRv6 localSID behavior
@@ -263,9 +263,7 @@ class TestSRv6(VppTestCase):
         # configure route to next segment
         route = VppIpRoute(self, sid_list[test_sid_index + 1], 128,
                            [VppRoutePath(self.pg0.remote_ip6,
-                                         self.pg0.sw_if_index,
-                                         proto=DpoProto.DPO_PROTO_IP6)],
-                           is_ip6=1)
+                                         self.pg0.sw_if_index)])
         route.add_vpp_config()
 
         # configure SRv6 localSID behavior
@@ -334,9 +332,7 @@ class TestSRv6(VppTestCase):
         # configure route to next segment
         route = VppIpRoute(self, sid_list[test_sid_index + 1], 128,
                            [VppRoutePath(self.pg0.remote_ip6,
-                                         self.pg0.sw_if_index,
-                                         proto=DpoProto.DPO_PROTO_IP6)],
-                           is_ip6=1)
+                                         self.pg0.sw_if_index)])
         route.add_vpp_config()
 
         # configure SRv6 localSID behavior
@@ -527,8 +523,8 @@ class TestSRv6(VppTestCase):
             self.assertEqual(rx_srh.segleft, len(tx_seglist)-1)
             # segleft should be equal to lastentry
             self.assertEqual(rx_srh.segleft, rx_srh.lastentry)
-            # nh should be "No Next Header" (59)
-            self.assertEqual(rx_srh.nh, 59)
+            # nh should be "No Next Header" (143)
+            self.assertEqual(rx_srh.nh, 143)
             # get payload
             payload = rx_srh.payload
         else:
@@ -800,7 +796,7 @@ class TestSRv6(VppTestCase):
 
         p = (IPv6(src='1234::1', dst=sidlist[segleft]) /
              IPv6ExtHdrSegmentRouting(addresses=sidlist,
-                                      segleft=segleft, nh=59) /
+                                      segleft=segleft, nh=143) /
              eth)
         return p