X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_vxlan.py;h=54d0c2d4a59938ee9382777b76b81f188c6d138f;hb=c4665093cdb0a8122d9640b6f5b3acd627918f32;hp=910611c63cc18f67898546737849865daa20f333;hpb=7c0eb56f40b3ccf8acd8f04e208aa50231aebeba;p=vpp.git diff --git a/test/test_vxlan.py b/test/test_vxlan.py index 910611c63cc..54d0c2d4a59 100644 --- a/test/test_vxlan.py +++ b/test/test_vxlan.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import socket -from util import ip4n_range, ip4_range, reassemble4 +from util import ip4_range, reassemble4 import unittest from framework import VppTestCase, VppTestRunner from template_bd import BridgeDomain @@ -10,7 +10,8 @@ from scapy.layers.l2 import Ether from scapy.packet import Raw from scapy.layers.inet import IP, UDP from scapy.layers.vxlan import VXLAN -from scapy.utils import atol + +import util from vpp_ip_route import VppIpRoute, VppRoutePath from vpp_vxlan_tunnel import VppVxlanTunnel from vpp_ip import INVALID_INDEX @@ -79,7 +80,8 @@ class TestVxlan(BridgeDomain, VppTestCase): # Verify UDP destination port is VXLAN 4789, source UDP port could be # arbitrary. self.assertEqual(pkt[UDP].dport, type(self).dport) - # TODO: checksum check + # Verify UDP checksum + self.assert_udp_checksum_valid(pkt) # Verify VNI self.assertEqual(pkt[VXLAN].vni, vni) @@ -91,13 +93,12 @@ class TestVxlan(BridgeDomain, VppTestCase): next_hop_address = cls.pg0.remote_ip4 for dest_ip4 in ip4_range(next_hop_address, ip_range_start, ip_range_end): - # add host route so dest_ip4n will not be resolved + # add host route so dest_ip4 will not be resolved rip = VppIpRoute(cls, dest_ip4, 32, [VppRoutePath(next_hop_address, INVALID_INDEX)], register=False) rip.add_vpp_config() - dest_ip4n = socket.inet_pton(socket.AF_INET, dest_ip4) r = VppVxlanTunnel(cls, src=cls.pg0.local_ip4, dst=dest_ip4, vni=vni) @@ -183,13 +184,9 @@ class TestVxlan(BridgeDomain, VppTestCase): # Our Multicast address cls.mcast_ip4 = '239.1.1.1' - cls.mcast_ip4n = socket.inet_pton(socket.AF_INET, cls.mcast_ip4) - iplong = atol(cls.mcast_ip4) - cls.mcast_mac = "01:00:5e:%02x:%02x:%02x" % ( - (iplong >> 16) & 0x7F, (iplong >> 8) & 0xFF, iplong & 0xFF) - + cls.mcast_mac = util.mcast_ip_to_mac(cls.mcast_ip4) except Exception: - super(TestVxlan, cls).tearDownClass() + cls.tearDownClass() raise @classmethod @@ -200,9 +197,11 @@ class TestVxlan(BridgeDomain, VppTestCase): super(TestVxlan, self).setUp() # Create VXLAN VTEP on VPP pg0, and put vxlan_tunnel0 and pg1 # into BD. + self.single_tunnel_vni = 0x12345 self.single_tunnel_bd = 1 r = VppVxlanTunnel(self, src=self.pg0.local_ip4, - dst=self.pg0.remote_ip4, vni=self.single_tunnel_bd) + dst=self.pg0.remote_ip4, + vni=self.single_tunnel_vni) r.add_vpp_config() self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=r.sw_if_index, bd_id=self.single_tunnel_bd) @@ -264,7 +263,7 @@ class TestVxlan(BridgeDomain, VppTestCase): ether = out[0] pkt = reassemble4(out) pkt = ether / pkt - self.check_encapsulation(pkt, self.single_tunnel_bd) + self.check_encapsulation(pkt, self.single_tunnel_vni) payload = self.decapsulate(pkt) # TODO: Scapy bug?