Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
qos: Uninitialised variable (coverity)
[vpp.git]
/
test
/
test_srv6.py
diff --git
a/test/test_srv6.py
b/test/test_srv6.py
index
46660f5
..
b3e6972
100644
(file)
--- a/
test/test_srv6.py
+++ b/
test/test_srv6.py
@@
-5,10
+5,11
@@
import binascii
from socket import AF_INET6
from framework import VppTestCase, VppTestRunner
from socket import AF_INET6
from framework import VppTestCase, VppTestRunner
-from vpp_ip_route import VppIpRoute, VppRoutePath,
Dpo
Proto, VppIpTable
+from vpp_ip_route import VppIpRoute, VppRoutePath,
FibPath
Proto, VppIpTable
from vpp_srv6 import SRv6LocalSIDBehaviors, VppSRv6LocalSID, VppSRv6Policy, \
SRv6PolicyType, VppSRv6Steering, SRv6PolicySteeringTypes
from vpp_srv6 import SRv6LocalSIDBehaviors, VppSRv6LocalSID, VppSRv6Policy, \
SRv6PolicyType, VppSRv6Steering, SRv6PolicySteeringTypes
+import scapy.compat
from scapy.packet import Raw
from scapy.layers.l2 import Ether, Dot1Q
from scapy.layers.inet6 import IPv6, UDP, IPv6ExtHdrSegmentRouting
from scapy.packet import Raw
from scapy.layers.l2 import Ether, Dot1Q
from scapy.layers.inet6 import IPv6, UDP, IPv6ExtHdrSegmentRouting
@@
-23,8
+24,12
@@
class TestSRv6(VppTestCase):
""" SRv6 Test Case """
@classmethod
""" SRv6 Test Case """
@classmethod
- def setUpClass(self):
- super(TestSRv6, self).setUpClass()
+ def setUpClass(cls):
+ super(TestSRv6, cls).setUpClass()
+
+ @classmethod
+ def tearDownClass(cls):
+ super(TestSRv6, cls).tearDownClass()
def setUp(self):
""" Perform test setup before each test case.
def setUp(self):
""" Perform test setup before each test case.
@@
-141,9
+146,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure encaps IPv6 source address
route.add_vpp_config()
# configure encaps IPv6 source address
@@
-243,9
+246,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure encaps IPv6 source address
route.add_vpp_config()
# configure encaps IPv6 source address
@@
-336,9
+337,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure encaps IPv6 source address
route.add_vpp_config()
# configure encaps IPv6 source address
@@
-420,9
+419,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure encaps IPv6 source address
route.add_vpp_config()
# configure encaps IPv6 source address
@@
-507,9
+504,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure SRv6 localSID End without PSP behavior
route.add_vpp_config()
# configure SRv6 localSID End without PSP behavior
@@
-579,9
+574,7
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg1.sw_if_index)])
route.add_vpp_config()
# configure SRv6 localSID End with PSP behavior
route.add_vpp_config()
# configure SRv6 localSID End with PSP behavior
@@
-650,12
+643,9
@@
class TestSRv6(VppTestCase):
# a4::/64 via pg1 and pg2
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
# a4::/64 via pg1 and pg2
route = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
- self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6),
+ self.pg1.sw_if_index),
VppRoutePath(self.pg2.remote_ip6,
VppRoutePath(self.pg2.remote_ip6,
- self.pg2.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg2.sw_if_index)])
route.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip6 fib"))
route.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip6 fib"))
@@
-729,13
+719,11
@@
class TestSRv6(VppTestCase):
# configure FIB entries
# a4::/64 via pg1 and pg2
route = VppIpRoute(self, "a4::", 64,
# configure FIB entries
# a4::/64 via pg1 and pg2
route = VppIpRoute(self, "a4::", 64,
- [VppRoutePath(
self.pg1.remote_ip6,
-
self.pg1.sw_if_index
,
-
proto=DpoProto.DPO_PROTO_IP6
),
+ [VppRoutePath(
+
self.pg1.remote_ip6
,
+
self.pg1.sw_if_index
),
VppRoutePath(self.pg2.remote_ip6,
VppRoutePath(self.pg2.remote_ip6,
- self.pg2.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ self.pg2.sw_if_index)])
route.add_vpp_config()
# configure SRv6 localSID End with PSP behavior
route.add_vpp_config()
# configure SRv6 localSID End with PSP behavior
@@
-875,18
+863,14
@@
class TestSRv6(VppTestCase):
route0 = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
self.pg1.sw_if_index,
route0 = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg1.remote_ip6,
self.pg1.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6,
nh_table_id=0)],
nh_table_id=0)],
- table_id=0,
- is_ip6=1)
+ table_id=0)
route0.add_vpp_config()
route1 = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg2.remote_ip6,
self.pg2.sw_if_index,
route0.add_vpp_config()
route1 = VppIpRoute(self, "a4::", 64,
[VppRoutePath(self.pg2.remote_ip6,
self.pg2.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6,
nh_table_id=vrf_1)],
nh_table_id=vrf_1)],
- table_id=vrf_1,
- is_ip6=1)
+ table_id=vrf_1)
route1.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip6 fib"))
route1.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip6 fib"))
@@
-1033,15
+1017,13
@@
class TestSRv6(VppTestCase):
[VppRoutePath(self.pg1.remote_ip4,
self.pg1.sw_if_index,
nh_table_id=0)],
[VppRoutePath(self.pg1.remote_ip4,
self.pg1.sw_if_index,
nh_table_id=0)],
- table_id=0,
- is_ip6=0)
+ table_id=0)
route0.add_vpp_config()
route1 = VppIpRoute(self, "4.1.1.0", 24,
[VppRoutePath(self.pg2.remote_ip4,
self.pg2.sw_if_index,
nh_table_id=vrf_1)],
route0.add_vpp_config()
route1 = VppIpRoute(self, "4.1.1.0", 24,
[VppRoutePath(self.pg2.remote_ip4,
self.pg2.sw_if_index,
nh_table_id=vrf_1)],
- table_id=vrf_1,
- is_ip6=0)
+ table_id=vrf_1)
route1.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip fib"))
route1.add_vpp_config()
self.logger.debug(self.vapi.cli("show ip fib"))
@@
-1195,10
+1177,9
@@
class TestSRv6(VppTestCase):
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
# configure FIB entries
route = VppIpRoute(self, "a4::", 64,
- [VppRoutePath(self.pg4.remote_ip6,
- self.pg4.sw_if_index,
- proto=DpoProto.DPO_PROTO_IP6)],
- is_ip6=1)
+ [VppRoutePath(
+ self.pg4.remote_ip6,
+ self.pg4.sw_if_index)])
route.add_vpp_config()
# configure encaps IPv6 source address
route.add_vpp_config()
# configure encaps IPv6 source address
@@
-1224,7
+1205,7
@@
class TestSRv6(VppTestCase):
# add classify table
# mask on dst ip address prefix a7::/8
# add classify table
# mask on dst ip address prefix a7::/8
- mask = '{:0<16}'.format('ff')
+ mask = '{
!s
:0<16}'.format('ff')
r = self.vapi.classify_add_del_table(
1,
binascii.unhexlify(mask),
r = self.vapi.classify_add_del_table(
1,
binascii.unhexlify(mask),
@@
-1234,12
+1215,12
@@
class TestSRv6(VppTestCase):
self.assertIsNotNone(r, 'No response msg for add_del_table')
table_index = r.new_table_index
self.assertIsNotNone(r, 'No response msg for add_del_table')
table_index = r.new_table_index
- # add the source routi
gn
node as a ip6 inacl netxt node
+ # add the source routi
ng
node as a ip6 inacl netxt node
r = self.vapi.add_node_next('ip6-inacl',
'sr-pl-rewrite-insert')
inacl_next_node_index = r.node_index
r = self.vapi.add_node_next('ip6-inacl',
'sr-pl-rewrite-insert')
inacl_next_node_index = r.node_index
- match = '{:0<16}'.format('a7')
+ match = '{
!s
:0<16}'.format('a7')
r = self.vapi.classify_add_del_session(
1,
table_index,
r = self.vapi.classify_add_del_session(
1,
table_index,
@@
-1437,7
+1418,7
@@
class TestSRv6(VppTestCase):
tx_ip.chksum = None
# read back the pkt (with str()) to force computing these fields
# probably other ways to accomplish this are possible
tx_ip.chksum = None
# read back the pkt (with str()) to force computing these fields
# probably other ways to accomplish this are possible
- tx_ip = IP(s
tr
(tx_ip))
+ tx_ip = IP(s
capy.compat.raw
(tx_ip))
self.assertEqual(rx_srh.payload, tx_ip)
self.assertEqual(rx_srh.payload, tx_ip)
@@
-1489,7
+1470,7
@@
class TestSRv6(VppTestCase):
self.assertEqual(rx_srh.nh, 59)
# the whole rx'ed pkt beyond SRH should be equal to tx'ed pkt
self.assertEqual(rx_srh.nh, 59)
# the whole rx'ed pkt beyond SRH should be equal to tx'ed pkt
- self.assertEqual(Ether(s
tr
(rx_srh.payload)), tx_ether)
+ self.assertEqual(Ether(s
capy.compat.raw
(rx_srh.payload)), tx_ether)
self.logger.debug("packet verification: SUCCESS")
self.logger.debug("packet verification: SUCCESS")
@@
-1765,7
+1746,7
@@
class TestSRv6(VppTestCase):
tx_ip2.chksum = None
# read back the pkt (with str()) to force computing these fields
# probably other ways to accomplish this are possible
tx_ip2.chksum = None
# read back the pkt (with str()) to force computing these fields
# probably other ways to accomplish this are possible
- tx_ip2 = IP(s
tr
(tx_ip2))
+ tx_ip2 = IP(s
capy.compat.raw
(tx_ip2))
self.assertEqual(rx_ip, tx_ip2)
self.assertEqual(rx_ip, tx_ip2)
@@
-1791,7
+1772,7
@@
class TestSRv6(VppTestCase):
tx_ip = tx_pkt.getlayer(IPv6)
# we can't just get the 2nd Ether layer
# get the Raw content and dissect it as Ether
tx_ip = tx_pkt.getlayer(IPv6)
# we can't just get the 2nd Ether layer
# get the Raw content and dissect it as Ether
- tx_eth1 = Ether(s
tr
(tx_pkt[Raw]))
+ tx_eth1 = Ether(s
capy.compat.raw
(tx_pkt[Raw]))
# verify if rx'ed packet has no SRH
self.assertFalse(rx_pkt.haslayer(IPv6ExtHdrSegmentRouting))
# verify if rx'ed packet has no SRH
self.assertFalse(rx_pkt.haslayer(IPv6ExtHdrSegmentRouting))
@@
-1837,7
+1818,7
@@
class TestSRv6(VppTestCase):
# read back the dumped packet (with str())
# to force computing these fields
# probably other ways are possible
# read back the dumped packet (with str())
# to force computing these fields
# probably other ways are possible
- p = Ether(s
tr
(p))
+ p = Ether(s
capy.compat.raw
(p))
payload_info.data = p.copy()
self.logger.debug(ppp("Created packet:", p))
pkts.append(p)
payload_info.data = p.copy()
self.logger.debug(ppp("Created packet:", p))
pkts.append(p)
@@
-2080,14
+2061,14
@@
class TestSRv6(VppTestCase):
# but packet[Raw] gives the complete payload
# (incl L2 header) for the T.Encaps L2 case
try:
# but packet[Raw] gives the complete payload
# (incl L2 header) for the T.Encaps L2 case
try:
- payload_info = self.payload_to_info(
str(packet[Raw])
)
+ payload_info = self.payload_to_info(
packet[Raw]
)
except:
# remote L2 header from packet[Raw]:
# take packet[Raw], convert it to an Ether layer
# and then extract Raw from it
payload_info = self.payload_to_info(
except:
# remote L2 header from packet[Raw]:
# take packet[Raw], convert it to an Ether layer
# and then extract Raw from it
payload_info = self.payload_to_info(
-
str(Ether(str(packet[Raw]))[Raw])
)
+
Ether(scapy.compat.r(packet[Raw]))[Raw]
)
return payload_info
return payload_info
@@
-2101,7
+2082,7
@@
class TestSRv6(VppTestCase):
:param compare_func: function to compare in and out packet
"""
self.logger.info("Verifying capture on interface %s using function %s"
:param compare_func: function to compare in and out packet
"""
self.logger.info("Verifying capture on interface %s using function %s"
- % (dst_if.name, compare_func.
func_name
))
+ % (dst_if.name, compare_func.
__name__
))
last_info = dict()
for i in self.pg_interfaces:
last_info = dict()
for i in self.pg_interfaces: