nat: add maximum configured sessions to stat segment
[vpp.git] / test / test_pppoe.py
index 615b7a0..99dba01 100644 (file)
@@ -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
-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 vpp_mac import mactobinary
+from scapy.layers.inet import IP
+
+from framework import VppTestCase, VppTestRunner
+from vpp_ip_route import VppIpRoute, VppRoutePath
+from vpp_pppoe_interface import VppPppoeInterface
 from util import ppp, ppc
-import socket
 
 
 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
@@ -337,6 +339,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)
 
         #
         # The double create (create the same session twice) should fail,
@@ -445,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,
@@ -465,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