Test scenario:
"""
+ self.pg0.ip6_ra_config(no=1, suppress=1)
+
#
# Before we begin change the IPv6 RA responses to use the unicast
# address - that way we will not confuse them with the periodic
# If we happen to pick up the periodic RA at this point then so be it,
# it's not an error.
#
- self.pg0.ip6_ra_config(send_unicast=1, suppress=0)
+ self.pg0.ip6_ra_config(send_unicast=1)
p = (Ether(dst=dmac, src=self.pg0.remote_mac) /
IPv6(dst="ff02::2", src="::") /
ICMPv6ND_RS())
#
# Reset the periodic advertisements back to default values
#
- self.pg0.ip6_ra_config(no=1, suppress=1, send_unicast=0)
+ self.pg0.ip6_ra_config(suppress=1)
+ self.pg0.ip6_ra_config(no=1, send_unicast=1)
def test_mld(self):
""" MLD Report """
self.assertTrue(rx[0].haslayer(ICMPv6ND_NS))
-class TestIPNull(VppTestCase):
+class TestIP6Null(VppTestCase):
""" IPv6 routes via NULL """
@classmethod
def setUpClass(cls):
- super(TestIPNull, cls).setUpClass()
+ super(TestIP6Null, cls).setUpClass()
@classmethod
def tearDownClass(cls):
- super(TestIPNull, cls).tearDownClass()
+ super(TestIP6Null, cls).tearDownClass()
def setUp(self):
- super(TestIPNull, self).setUp()
+ super(TestIP6Null, self).setUp()
# create 2 pg interfaces
self.create_pg_interfaces(range(1))
i.resolve_ndp()
def tearDown(self):
- super(TestIPNull, self).tearDown()
+ super(TestIP6Null, self).tearDown()
for i in self.pg_interfaces:
i.unconfig_ip6()
i.admin_down()
self.assertEqual(icmp.code, 1)
-class TestIPDisabled(VppTestCase):
+class TestIP6Disabled(VppTestCase):
""" IPv6 disabled """
@classmethod
def setUpClass(cls):
- super(TestIPDisabled, cls).setUpClass()
+ super(TestIP6Disabled, cls).setUpClass()
@classmethod
def tearDownClass(cls):
- super(TestIPDisabled, cls).tearDownClass()
+ super(TestIP6Disabled, cls).tearDownClass()
def setUp(self):
- super(TestIPDisabled, self).setUp()
+ super(TestIP6Disabled, self).setUp()
# create 2 pg interfaces
self.create_pg_interfaces(range(2))
self.pg1.admin_up()
def tearDown(self):
- super(TestIPDisabled, self).tearDown()
+ super(TestIP6Disabled, self).tearDown()
for i in self.pg_interfaces:
i.unconfig_ip4()
i.admin_down()
ip_punt_redirect.remove_vpp_config()
-class TestIPDeag(VppTestCase):
+class TestIP6Deag(VppTestCase):
""" IPv6 Deaggregate Routes """
@classmethod
def setUpClass(cls):
- super(TestIPDeag, cls).setUpClass()
+ super(TestIP6Deag, cls).setUpClass()
@classmethod
def tearDownClass(cls):
- super(TestIPDeag, cls).tearDownClass()
+ super(TestIP6Deag, cls).tearDownClass()
def setUp(self):
- super(TestIPDeag, self).setUp()
+ super(TestIP6Deag, self).setUp()
self.create_pg_interfaces(range(3))
i.resolve_ndp()
def tearDown(self):
- super(TestIPDeag, self).tearDown()
+ super(TestIP6Deag, self).tearDown()
for i in self.pg_interfaces:
i.unconfig_ip6()
i.admin_down()
self.pg_start()
-class TestIPReplace(VppTestCase):
+class TestIP6Replace(VppTestCase):
""" IPv6 Table Replace """
@classmethod
def setUpClass(cls):
- super(TestIPReplace, cls).setUpClass()
+ super(TestIP6Replace, cls).setUpClass()
@classmethod
def tearDownClass(cls):
- super(TestIPReplace, cls).tearDownClass()
+ super(TestIP6Replace, cls).tearDownClass()
def setUp(self):
- super(TestIPReplace, self).setUp()
+ super(TestIP6Replace, self).setUp()
self.create_pg_interfaces(range(4))
table_id += 1
def tearDown(self):
- super(TestIPReplace, self).tearDown()
+ super(TestIP6Replace, self).tearDown()
for i in self.pg_interfaces:
i.admin_down()
i.unconfig_ip6()
self.assertEqual(len(t.mdump()), 5)
-class TestIP6Replace(VppTestCase):
- """ IPv4 Interface Address Replace """
+class TestIP6AddrReplace(VppTestCase):
+ """ IPv6 Interface Address Replace """
@classmethod
def setUpClass(cls):
- super(TestIP6Replace, cls).setUpClass()
+ super(TestIP6AddrReplace, cls).setUpClass()
@classmethod
def tearDownClass(cls):
- super(TestIP6Replace, cls).tearDownClass()
+ super(TestIP6AddrReplace, cls).tearDownClass()
def setUp(self):
- super(TestIP6Replace, self).setUp()
+ super(TestIP6AddrReplace, self).setUp()
self.create_pg_interfaces(range(4))
i.admin_up()
def tearDown(self):
- super(TestIP6Replace, self).tearDown()
+ super(TestIP6AddrReplace, self).tearDown()
for i in self.pg_interfaces:
i.admin_down()