test-network: add tests for [IPv6AcceptRA] PrefixDenyList= or friends

This commit is contained in:
Yu Watanabe 2020-12-24 13:50:48 +09:00
parent 75d2641190
commit 635f2a6692
4 changed files with 58 additions and 4 deletions

View File

@ -0,0 +1,11 @@
[Match]
Name=veth-peer
[Network]
DHCP=no
IPv6AcceptRA=yes
[IPv6AcceptRA]
RouterDenyList=2001::1
PrefixDenyList=2001:db8:0:2::
RouteDenyList=2001:db1:fff::

View File

@ -4,3 +4,10 @@ Name=veth-peer
[Network]
DHCP=no
IPv6AcceptRA=yes
[IPv6AcceptRA]
# PrefixDenyList= and RouteDenyList= will be ignored.
PrefixAllowList=2001:db8:0:1:: 2001:db8:0:1::
PrefixDenyList=2001:db8:0:1:: 2001:db8:0:1::
RouteAllowList=2001:db0:fff:: 2001:db0:fff::
RouteDenyList=2001:db0:fff:: 2001:db0:fff::

View File

@ -15,3 +15,7 @@ Assign=yes
[IPv6RoutePrefix]
Route=2001:db0:fff::/64
LifetimeSec=1000
[IPv6RoutePrefix]
Route=2001:db1:fff::/64
LifetimeSec=1000

View File

@ -4274,6 +4274,7 @@ class NetworkdIPv6PrefixTests(unittest.TestCase, Utilities):
units = [
'25-veth.netdev',
'ipv6ra-prefix-client-deny-list.network',
'ipv6ra-prefix-client.network',
'ipv6ra-prefix.network'
]
@ -4294,14 +4295,45 @@ class NetworkdIPv6PrefixTests(unittest.TestCase, Utilities):
start_networkd()
self.wait_online(['veth99:routable', 'veth-peer:routable'])
output = check_output('ip address show dev veth-peer')
print(output)
self.assertIn('inet6 2001:db8:0:1:', output)
self.assertNotIn('inet6 2001:db8:0:2:', output)
output = check_output('ip -6 route show dev veth-peer')
print(output)
self.assertRegex(output, '2001:db8:0:1::/64 proto ra')
self.assertIn('2001:db8:0:1::/64 proto ra', output)
self.assertNotIn('2001:db8:0:2::/64 proto ra', output)
self.assertIn('2001:db0:fff::/64 via ', output)
self.assertNotIn('2001:db1:fff::/64 via ', output)
output = check_output('ip addr show dev veth99')
output = check_output('ip address show dev veth99')
print(output)
self.assertNotRegex(output, '2001:db8:0:1')
self.assertRegex(output, '2001:db8:0:2')
self.assertNotIn('inet6 2001:db8:0:1:', output)
self.assertIn('inet6 2001:db8:0:2:', output)
def test_ipv6_route_prefix_deny_list(self):
copy_unit_to_networkd_unit_path('25-veth.netdev', 'ipv6ra-prefix-client-deny-list.network', 'ipv6ra-prefix.network')
start_networkd()
self.wait_online(['veth99:routable', 'veth-peer:routable'])
output = check_output('ip address show dev veth-peer')
print(output)
self.assertIn('inet6 2001:db8:0:1:', output)
self.assertNotIn('inet6 2001:db8:0:2:', output)
output = check_output('ip -6 route show dev veth-peer')
print(output)
self.assertIn('2001:db8:0:1::/64 proto ra', output)
self.assertNotIn('2001:db8:0:2::/64 proto ra', output)
self.assertIn('2001:db0:fff::/64 via ', output)
self.assertNotIn('2001:db1:fff::/64 via ', output)
output = check_output('ip address show dev veth99')
print(output)
self.assertNotIn('inet6 2001:db8:0:1:', output)
self.assertIn('inet6 2001:db8:0:2:', output)
class NetworkdMTUTests(unittest.TestCase, Utilities):
links = ['dummy98']