Revert "make test: fix broken interfaces"
This reverts commit d5c60b96a3fd93916fc4af5c8d6d25625c28242e.
Change-Id: I3632b9c3f76c615aee897f28f76d094e7031e689
Signed-off-by: Ole Troan <ot@cisco.com>
diff --git a/test/framework.py b/test/framework.py
index dd4774d..be8c209 100644
--- a/test/framework.py
+++ b/test/framework.py
@@ -558,16 +558,18 @@
return result
@classmethod
- def create_loopback_interfaces(cls, count):
+ def create_loopback_interfaces(cls, interfaces):
"""
Create loopback interfaces.
- :param count: number of interfaces created.
+ :param interfaces: iterable indexes of the interfaces.
:returns: List of created interfaces.
"""
- result = [VppLoInterface(cls) for i in range(count)]
- for intf in result:
+ result = []
+ for i in interfaces:
+ intf = VppLoInterface(cls, i)
setattr(cls, intf.name, intf)
+ result.append(intf)
cls.lo_interfaces = result
return result
diff --git a/test/test_acl_plugin_l2l3.py b/test/test_acl_plugin_l2l3.py
index 26b562e..b971610 100644
--- a/test/test_acl_plugin_l2l3.py
+++ b/test/test_acl_plugin_l2l3.py
@@ -60,7 +60,7 @@
# create 3 pg interfaces, 1 loopback interface
cls.create_pg_interfaces(range(3))
- cls.create_loopback_interfaces(1)
+ cls.create_loopback_interfaces(range(1))
cls.interfaces = list(cls.pg_interfaces)
cls.interfaces.extend(cls.lo_interfaces)
diff --git a/test/test_acl_plugin_macip.py b/test/test_acl_plugin_macip.py
index 8bcef25..a8df833 100644
--- a/test/test_acl_plugin_macip.py
+++ b/test/test_acl_plugin_macip.py
@@ -63,7 +63,7 @@
try:
# create 4 pg interfaces, 1 loopback interface
cls.create_pg_interfaces(range(4))
- cls.create_loopback_interfaces(1)
+ cls.create_loopback_interfaces(range(1))
# create 2 subinterfaces
cls.subifs = [
diff --git a/test/test_bfd.py b/test/test_bfd.py
index 3afe942..3b36f55 100644
--- a/test/test_bfd.py
+++ b/test/test_bfd.py
@@ -629,7 +629,7 @@
cls.vapi.cli("set log class bfd level debug")
try:
cls.create_pg_interfaces([0])
- cls.create_loopback_interfaces(1)
+ cls.create_loopback_interfaces([0])
cls.loopback0 = cls.lo_interfaces[0]
cls.loopback0.config_ip4()
cls.loopback0.admin_up()
@@ -1439,7 +1439,7 @@
cls.pg0.configure_ipv6_neighbors()
cls.pg0.admin_up()
cls.pg0.resolve_ndp()
- cls.create_loopback_interfaces(1)
+ cls.create_loopback_interfaces([0])
cls.loopback0 = cls.lo_interfaces[0]
cls.loopback0.config_ip6()
cls.loopback0.admin_up()
@@ -2557,7 +2557,7 @@
def test_set_del_udp_echo_source(self):
""" set/del udp echo source """
- self.create_loopback_interfaces(1)
+ self.create_loopback_interfaces([0])
self.loopback0 = self.lo_interfaces[0]
self.loopback0.admin_up()
self.cli_verify_response("show bfd echo-source",
diff --git a/test/test_container.py b/test/test_container.py
index 66357a7..99a527b 100644
--- a/test/test_container.py
+++ b/test/test_container.py
@@ -73,7 +73,7 @@
def test_0050_loopback_prepare_test(self):
""" Create loopbacks overlapping with remote addresses """
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
for i in range(2):
intf = self.lo_interfaces[i]
intf.admin_up()
diff --git a/test/test_dvr.py b/test/test_dvr.py
index 9d86758..5bdc3b2 100644
--- a/test/test_dvr.py
+++ b/test/test_dvr.py
@@ -1,14 +1,18 @@
#!/usr/bin/env python
+import random
+import socket
import unittest
from framework import VppTestCase, VppTestRunner
-from vpp_sub_interface import VppDot1QSubint
-from vpp_ip_route import VppIpRoute, VppRoutePath
+from vpp_sub_interface import VppSubInterface, VppDot1QSubint
+from vpp_ip_route import VppIpRoute, VppRoutePath, DpoProto, VppIpMRoute, \
+ VppMRoutePath, MRouteEntryFlags, MRouteItfFlags
from vpp_papi_provider import L2_VTR_OP
from scapy.packet import Raw
-from scapy.layers.l2 import Ether, Dot1Q
+from scapy.layers.l2 import Ether, Dot1Q, ARP
from scapy.layers.inet import IP, UDP
+from util import ppp
from socket import AF_INET, inet_pton
@@ -19,7 +23,7 @@
super(TestDVR, self).setUp()
self.create_pg_interfaces(range(4))
- self.create_loopback_interfaces(1)
+ self.create_loopback_interfaces(range(1))
for i in self.pg_interfaces:
i.admin_up()
diff --git a/test/test_gbp.py b/test/test_gbp.py
index 7ee4d76..fe19ae6 100644
--- a/test/test_gbp.py
+++ b/test/test_gbp.py
@@ -1,6 +1,8 @@
#!/usr/bin/env python
import unittest
+import socket
+import struct
from framework import VppTestCase, VppTestRunner
from vpp_object import VppObject
@@ -11,12 +13,12 @@
from scapy.layers.l2 import Ether, ARP
from scapy.layers.inet import IP, UDP
from scapy.layers.inet6 import IPv6, ICMPv6ND_NS, ICMPv6NDOptSrcLLAddr, \
- ICMPv6ND_NA
+ ICMPv6NDOptDstLLAddr, ICMPv6ND_NA
from scapy.utils6 import in6_getnsma, in6_getnsmac
from socket import AF_INET, AF_INET6
from scapy.utils import inet_pton, inet_ntop
-from util import mactobinary
+from util import Host, mactobinary
class VppGbpEndpoint(VppObject):
@@ -298,7 +300,7 @@
super(TestGBP, self).setUp()
self.create_pg_interfaces(range(9))
- self.create_loopback_interfaces(9)
+ self.create_loopback_interfaces(range(9))
self.router_mac = "00:11:22:33:44:55"
diff --git a/test/test_interface_crud.py b/test/test_interface_crud.py
index d78cb58..6391704 100644
--- a/test/test_interface_crud.py
+++ b/test/test_interface_crud.py
@@ -79,7 +79,7 @@
def test_crud(self):
# create
- loopbacks = self.create_loopback_interfaces(20)
+ loopbacks = self.create_loopback_interfaces(range(20))
for i in loopbacks:
i.local_ip4_prefix_len = 32
i.config_ip4()
@@ -121,7 +121,7 @@
def test_down(self):
# create
- loopbacks = self.create_loopback_interfaces(20)
+ loopbacks = self.create_loopback_interfaces(range(20))
for i in loopbacks:
i.local_ip4_prefix_len = 32
i.config_ip4()
diff --git a/test/test_ip4_irb.py b/test/test_ip4_irb.py
index 460cb43..bbec7ca 100644
--- a/test/test_ip4_irb.py
+++ b/test/test_ip4_irb.py
@@ -54,7 +54,7 @@
# create 3 pg interfaces, 1 loopback interface
cls.create_pg_interfaces(range(3))
- cls.create_loopback_interfaces(1)
+ cls.create_loopback_interfaces(range(1))
cls.interfaces = list(cls.pg_interfaces)
cls.interfaces.extend(cls.lo_interfaces)
diff --git a/test/test_ip_mcast.py b/test/test_ip_mcast.py
index 9c216d5..017f062 100644
--- a/test/test_ip_mcast.py
+++ b/test/test_ip_mcast.py
@@ -3,13 +3,15 @@
import unittest
from framework import VppTestCase, VppTestRunner
+from vpp_sub_interface import VppSubInterface, VppDot1QSubint, VppDot1ADSubint
from vpp_ip_route import VppIpMRoute, VppMRoutePath, VppMFibSignal, \
MRouteItfFlags, MRouteEntryFlags, VppIpTable, DpoProto
from scapy.packet import Raw
from scapy.layers.l2 import Ether
-from scapy.layers.inet import IP, UDP, getmacbyip
+from scapy.layers.inet import IP, UDP, getmacbyip, ICMP
from scapy.layers.inet6 import IPv6, getmacbyip6
+from util import ppp
#
# The number of packets sent is set to 91 so that when we replicate more than 3
diff --git a/test/test_qos.py b/test/test_qos.py
index 939cca5..a940bd3 100644
--- a/test/test_qos.py
+++ b/test/test_qos.py
@@ -1,13 +1,17 @@
#!/usr/bin/env python
import unittest
+import socket
+import struct
from framework import VppTestCase, VppTestRunner
+from vpp_object import VppObject
from vpp_papi_provider import QOS_SOURCE
-from vpp_ip_route import VppIpRoute, VppRoutePath
+from vpp_ip_route import VppIpRoute, VppRoutePath, VppMplsRoute
+from vpp_sub_interface import VppSubInterface, VppDot1QSubint
from scapy.packet import Raw
-from scapy.layers.l2 import Ether
+from scapy.layers.l2 import Ether, Dot1Q
from scapy.layers.inet import IP, UDP
from scapy.layers.inet6 import IPv6
from scapy.contrib.mpls import MPLS
diff --git a/test/test_sctp.py b/test/test_sctp.py
index 9396f05..32068ab 100644
--- a/test/test_sctp.py
+++ b/test/test_sctp.py
@@ -16,7 +16,7 @@
def setUp(self):
super(TestSCTP, self).setUp()
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 0
diff --git a/test/test_session.py b/test/test_session.py
index 55541b7..047b8ca 100644
--- a/test/test_session.py
+++ b/test/test_session.py
@@ -17,7 +17,7 @@
super(TestSession, self).setUp()
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 0
diff --git a/test/test_tcp.py b/test/test_tcp.py
index 4a5c9bc..3b36bdf 100644
--- a/test/test_tcp.py
+++ b/test/test_tcp.py
@@ -16,7 +16,7 @@
def setUp(self):
super(TestTCP, self).setUp()
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 0
diff --git a/test/test_udp.py b/test/test_udp.py
index 230335f..aabbbd3 100644
--- a/test/test_udp.py
+++ b/test/test_udp.py
@@ -1,11 +1,11 @@
#!/usr/bin/env python
-import unittest
+
from framework import VppTestCase, VppTestRunner
-from vpp_udp_encap import VppUdpEncap
+from vpp_udp_encap import *
from vpp_ip_route import VppIpRoute, VppRoutePath, VppIpTable, VppMplsLabel
from scapy.packet import Raw
-from scapy.layers.l2 import Ether
+from scapy.layers.l2 import Ether, ARP
from scapy.layers.inet import IP, UDP
from scapy.layers.inet6 import IPv6
from scapy.contrib.mpls import MPLS
@@ -233,7 +233,7 @@
def setUp(self):
super(TestUDP, self).setUp()
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 0
diff --git a/test/test_vcl.py b/test/test_vcl.py
index 79eb75f..cba8c67 100644
--- a/test/test_vcl.py
+++ b/test/test_vcl.py
@@ -68,12 +68,12 @@
worker_client.join(self.timeout)
try:
self.validateResults(worker_client, worker_server, self.timeout)
- except Exception as error:
+ except Exception, error:
self.fail("Failed with %s" % error)
def thru_host_stack_setup(self):
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 1
@@ -117,7 +117,7 @@
def thru_host_stack_ipv6_setup(self):
self.vapi.session_enable_disable(is_enabled=1)
- self.create_loopback_interfaces(2)
+ self.create_loopback_interfaces(range(2))
table_id = 1
@@ -182,7 +182,7 @@
try:
self.validateResults(worker_client, worker_server, self.timeout)
- except Exception as error:
+ except Exception, error:
self.fail("Failed with %s" % error)
def validateResults(self, worker_client, worker_server, timeout):
diff --git a/test/vpp_bond_interface.py b/test/vpp_bond_interface.py
index 153f114..4bd7cb8 100644
--- a/test/vpp_bond_interface.py
+++ b/test/vpp_bond_interface.py
@@ -9,7 +9,7 @@
use_custom_mac=0, mac_address=''):
""" Create VPP Bond interface """
- super(VppBondInterface, self).__init__(test)
+ self._test = test
self.mode = mode
self.lb = lb
self.use_custom_mac = use_custom_mac
@@ -20,7 +20,8 @@
self.lb,
self.use_custom_mac,
self.mac_address)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
+ super(VppBondInterface, self).__init__(self._test)
def remove_vpp_config(self):
self.test.vapi.bond_delete(self.sw_if_index)
diff --git a/test/vpp_gre_interface.py b/test/vpp_gre_interface.py
index d5a40ee..3de3e5c 100644
--- a/test/vpp_gre_interface.py
+++ b/test/vpp_gre_interface.py
@@ -11,7 +11,7 @@
def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0,
session=0):
""" Create VPP GRE interface """
- super(VppGreInterface, self).__init__(test)
+ self._test = test
self.t_src = src_ip
self.t_dst = dst_ip
self.t_outer_fib = outer_fib_id
@@ -25,9 +25,10 @@
outer_fib_id=self.t_outer_fib,
tunnel_type=self.t_type,
session_id=self.t_session)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
self.generate_remote_hosts()
self.test.registry.register(self, self.test.logger)
+ super(VppGreInterface, self).__init__(self.test)
def remove_vpp_config(self):
s = socket.inet_pton(socket.AF_INET, self.t_src)
@@ -54,7 +55,7 @@
def __init__(self, test, src_ip, dst_ip, outer_fib_id=0, type=0,
session=0):
""" Create VPP GRE interface """
- super(VppGre6Interface, self).__init__(test)
+ self._test = test
self.t_src = src_ip
self.t_dst = dst_ip
self.t_outer_fib = outer_fib_id
@@ -69,9 +70,10 @@
tunnel_type=self.t_type,
session_id=self.t_session,
is_ip6=1)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
self.generate_remote_hosts()
self.test.registry.register(self, self.test.logger)
+ super(VppGre6Interface, self).__init__(self.test)
def remove_vpp_config(self):
s = socket.inet_pton(socket.AF_INET6, self.t_src)
diff --git a/test/vpp_lo_interface.py b/test/vpp_lo_interface.py
index 36f56be..ae4111b 100644
--- a/test/vpp_lo_interface.py
+++ b/test/vpp_lo_interface.py
@@ -5,14 +5,16 @@
class VppLoInterface(VppInterface, VppObject):
"""VPP loopback interface."""
- def __init__(self, test):
+ def __init__(self, test, lo_index):
""" Create VPP loopback interface """
- super(VppLoInterface, self).__init__(test)
+ self._test = test
self.add_vpp_config()
+ super(VppLoInterface, self).__init__(test)
+ self._lo_index = lo_index
def add_vpp_config(self):
r = self.test.vapi.create_loopback()
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
def remove_vpp_config(self):
self.test.vapi.delete_loopback(self.sw_if_index)
diff --git a/test/vpp_mpls_tunnel_interface.py b/test/vpp_mpls_tunnel_interface.py
index 995ffb7..2e0ed67 100644
--- a/test/vpp_mpls_tunnel_interface.py
+++ b/test/vpp_mpls_tunnel_interface.py
@@ -9,7 +9,7 @@
def __init__(self, test, paths, is_multicast=0, is_l2=0):
""" Create MPLS Tunnel interface """
- super(VppMPLSTunnelInterface, self).__init__(test)
+ self._test = test
self.t_paths = paths
self.is_multicast = is_multicast
self.is_l2 = is_l2
@@ -31,7 +31,8 @@
is_multicast=self.is_multicast,
l2_only=self.is_l2)
sw_if_index = reply.sw_if_index
- self.set_sw_if_index(sw_if_index)
+ self._sw_if_index = sw_if_index
+ super(VppMPLSTunnelInterface, self).__init__(self.test)
def remove_vpp_config(self):
for path in self.t_paths:
diff --git a/test/vpp_pppoe_interface.py b/test/vpp_pppoe_interface.py
index 507d825..fbb78bc 100644
--- a/test/vpp_pppoe_interface.py
+++ b/test/vpp_pppoe_interface.py
@@ -12,7 +12,7 @@
def __init__(self, test, client_ip, client_mac,
session_id, decap_vrf_id=0):
""" Create VPP PPPoE4 interface """
- super(VppPppoeInterface, self).__init__(test)
+ self._test = test
self.client_ip = client_ip
self.client_mac = client_mac
self.session_id = session_id
@@ -25,14 +25,15 @@
cip, cmac,
session_id=self.session_id,
decap_vrf_id=self.decap_vrf_id)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
+ super(VppPppoeInterface, self).__init__(self._test)
self.generate_remote_hosts()
def remove_vpp_config(self):
cip = socket.inet_pton(socket.AF_INET, self.client_ip)
cmac = mactobinary(self.client_mac)
self.unconfig()
- self.test.vapi.pppoe_add_del_session(
+ r = self.test.vapi.pppoe_add_del_session(
cip, cmac,
session_id=self.session_id,
decap_vrf_id=self.decap_vrf_id,
diff --git a/test/vpp_sub_interface.py b/test/vpp_sub_interface.py
index 3c726b2..38d2404 100644
--- a/test/vpp_sub_interface.py
+++ b/test/vpp_sub_interface.py
@@ -35,13 +35,10 @@
self._parent = parent
self._parent.add_sub_if(self)
self._sub_id = sub_id
+ self.set_vtr(L2_VTR_OP.L2_DISABLED)
self.DOT1AD_TYPE = 0x88A8
self.DOT1Q_TYPE = 0x8100
- def set_sw_if_index(self, sw_if_index):
- super(VppSubInterface, self).set_sw_if_index(sw_if_index)
- self.set_vtr(L2_VTR_OP.L2_DISABLED)
-
@abstractmethod
def create_arp_req(self):
pass
@@ -50,12 +47,18 @@
def create_ndp_req(self):
pass
+ def resolve_arp(self):
+ super(VppSubInterface, self).resolve_arp(self.parent)
+
+ def resolve_ndp(self):
+ super(VppSubInterface, self).resolve_ndp(self.parent)
+
@abstractmethod
def add_dot1_layer(self, pkt):
pass
def remove_vpp_config(self):
- self.test.vapi.delete_subif(self.sw_if_index)
+ self.test.vapi.delete_subif(self._sw_if_index)
def _add_tag(self, packet, vlan, tag_type):
payload = packet.payload
@@ -126,12 +129,12 @@
return self._vlan
def __init__(self, test, parent, sub_id, vlan=None):
- super(VppDot1QSubint, self).__init__(test, parent, sub_id)
if vlan is None:
vlan = sub_id
self._vlan = vlan
r = test.vapi.create_vlan_subif(parent.sw_if_index, vlan)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
+ super(VppDot1QSubint, self).__init__(test, parent, sub_id)
def create_arp_req(self):
packet = VppPGInterface.create_arp_req(self)
@@ -163,13 +166,13 @@
return self._inner_vlan
def __init__(self, test, parent, sub_id, outer_vlan, inner_vlan):
- super(VppDot1ADSubint, self).__init__(test, parent, sub_id)
r = test.vapi.create_subif(parent.sw_if_index, sub_id, outer_vlan,
inner_vlan, dot1ad=1, two_tags=1,
exact_match=1)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
self._outer_vlan = outer_vlan
self._inner_vlan = inner_vlan
+ super(VppDot1ADSubint, self).__init__(test, parent, sub_id)
def create_arp_req(self):
packet = VppPGInterface.create_arp_req(self)
@@ -190,12 +193,12 @@
class VppP2PSubint(VppSubInterface):
def __init__(self, test, parent, sub_id, remote_mac):
- super(VppP2PSubint, self).__init__(test, parent, sub_id)
r = test.vapi.create_p2pethernet_subif(parent.sw_if_index,
remote_mac, sub_id)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
self.parent_sw_if_index = parent.sw_if_index
self.p2p_remote_mac = remote_mac
+ super(VppP2PSubint, self).__init__(test, parent, sub_id)
def add_dot1_layer(self, packet):
return packet
diff --git a/test/vpp_vhost_interface.py b/test/vpp_vhost_interface.py
index e86be5d..2249b06 100644
--- a/test/vpp_vhost_interface.py
+++ b/test/vpp_vhost_interface.py
@@ -9,7 +9,7 @@
tag=''):
""" Create VPP Vhost interface """
- super(VppVhostInterface, self).__init__(test)
+ self._test = test
self.is_server = is_server
self.sock_filename = sock_filename
self.renumber = renumber
@@ -26,7 +26,8 @@
self.use_custom_mac,
self.mac_address,
self.tag)
- self.set_sw_if_index(r.sw_if_index)
+ self._sw_if_index = r.sw_if_index
+ super(VppVhostInterface, self).__init__(self._test)
def remove_vpp_config(self):
self.test.vapi.delete_vhost_user_if(self.sw_if_index)