X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_pppoe.py;h=99dba01cdc94f4baf8f062181404226a7b5a1b04;hb=cdaf0d8c884ae0f337ef94b0ceb7449c991a3e6c;hp=0baf45467e5f6150391068473634c8a1646c80ce;hpb=62f9cdd82c52dc05cb89a742d21aba013ce526d4;p=vpp.git diff --git a/test/test_pppoe.py b/test/test_pppoe.py index 0baf45467e5..99dba01cdc9 100644 --- a/test/test_pppoe.py +++ b/test/test_pppoe.py @@ -1,22 +1,17 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 +import socket import unittest -from logging import * - -from framework import VppTestCase, VppTestRunner -from vpp_ip_route import VppIpRoute, VppRoutePath -from vpp_pppoe_interface import VppPppoeInterface, VppPppoe6Interface -from vpp_papi_provider import L2_VTR_OP from scapy.packet import Raw from scapy.layers.l2 import Ether from scapy.layers.ppp import PPPoE, PPPoED, PPP -from scapy.layers.inet import IP, UDP -from scapy.layers.inet6 import IPv6 -from scapy.volatile import RandMAC, RandIP +from scapy.layers.inet import IP -from util import ppp, ppc, mactobinary -import socket +from framework import VppTestCase, VppTestRunner +from vpp_ip_route import VppIpRoute, VppRoutePath +from vpp_pppoe_interface import VppPppoeInterface +from util import ppp, ppc class TestPPPoE(VppTestCase): @@ -30,6 +25,10 @@ class TestPPPoE(VppTestCase): cls.dst_ip = "100.1.1.100" cls.dst_ipn = socket.inet_pton(socket.AF_INET, cls.dst_ip) + @classmethod + def tearDownClass(cls): + super(TestPPPoE, cls).tearDownClass() + def setUp(self): super(TestPPPoE, self).setUp() @@ -44,16 +43,17 @@ class TestPPPoE(VppTestCase): def tearDown(self): super(TestPPPoE, self).tearDown() + for i in self.pg_interfaces: + i.unconfig_ip4() + i.admin_down() + + def show_commands_at_teardown(self): self.logger.info(self.vapi.cli("show int")) self.logger.info(self.vapi.cli("show pppoe fib")) self.logger.info(self.vapi.cli("show pppoe session")) self.logger.info(self.vapi.cli("show ip fib")) self.logger.info(self.vapi.cli("show trace")) - for i in self.pg_interfaces: - i.unconfig_ip4() - i.admin_down() - def create_stream_pppoe_discovery(self, src_if, dst_if, client_mac, count=1): packets = [] @@ -211,6 +211,7 @@ class TestPPPoE(VppTestCase): self.pg0.remote_mac, self.session_id) pppoe_if.add_vpp_config() + pppoe_if.set_unnumbered(self.pg0.sw_if_index) # # Send tunneled packets that match the created tunnel and @@ -274,6 +275,7 @@ class TestPPPoE(VppTestCase): self.pg0.remote_mac, self.session_id) pppoe_if.add_vpp_config() + pppoe_if.set_unnumbered(self.pg0.sw_if_index) # # Send a packet stream that is routed into the session @@ -281,7 +283,7 @@ class TestPPPoE(VppTestCase): # self.vapi.cli("clear trace") tx2 = self.create_stream_ip4(self.pg1, self.pg0, - self.pg0.remote_ip4, self.dst_ip) + self.pg0.remote_ip4, self.dst_ip, 65) self.pg1.add_stream(tx2) self.pg_enable_capture(self.pg_interfaces) @@ -293,6 +295,7 @@ class TestPPPoE(VppTestCase): self.logger.info(self.vapi.cli("show pppoe fib")) self.logger.info(self.vapi.cli("show pppoe session")) self.logger.info(self.vapi.cli("show ip fib")) + self.logger.info(self.vapi.cli("show adj")) # # test case cleanup @@ -336,13 +339,14 @@ class TestPPPoE(VppTestCase): self.pg0.remote_mac, self.session_id) pppoe_if.add_vpp_config() + pppoe_if.set_unnumbered(self.pg0.sw_if_index) # # The double create (create the same session twice) should fail, # and we should still be able to use the original # try: - gre_if.add_vpp_config() + pppoe_if.add_vpp_config() except Exception: pass else: @@ -399,7 +403,7 @@ class TestPPPoE(VppTestCase): # and we should still be able to use the original # try: - gre_if.remove_vpp_config() + pppoe_if.remove_vpp_config() except Exception: pass else: @@ -444,6 +448,7 @@ class TestPPPoE(VppTestCase): self.pg0.remote_mac, self.session_id) pppoe_if1.add_vpp_config() + pppoe_if1.set_unnumbered(self.pg0.sw_if_index) # Send PPPoE Discovery 2 tx3 = self.create_stream_pppoe_discovery(self.pg2, self.pg1, @@ -464,6 +469,7 @@ class TestPPPoE(VppTestCase): self.pg2.remote_mac, self.session_id + 1) pppoe_if2.add_vpp_config() + pppoe_if2.set_unnumbered(self.pg0.sw_if_index) # # Send tunneled packets that match the created tunnel and