mirror of
https://github.com/systemd/systemd
synced 2024-10-15 04:24:19 +00:00
test-network: extend tests for [BridgeVLAN] settings
This commit is contained in:
parent
228693af47
commit
60f4b2c560
|
@ -6,4 +6,8 @@ Name=bridge99
|
|||
IPv6AcceptRA=false
|
||||
|
||||
[BridgeVLAN]
|
||||
VLAN=4060-4094
|
||||
PVID=1020
|
||||
VLAN=1018-1023
|
||||
VLAN=1200-1210
|
||||
EgressUntagged=1022-1025
|
||||
EgressUntagged=1203-1208
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=
|
||||
VLAN=
|
||||
EgressUntagged=
|
||||
|
||||
PVID=2020
|
||||
VLAN=2018-2023
|
||||
VLAN=2200-2210
|
||||
EgressUntagged=2022-2025
|
||||
EgressUntagged=2203-2208
|
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=
|
||||
VLAN=
|
||||
EgressUntagged=
|
||||
|
||||
PVID=2020
|
||||
VLAN=2018-2023
|
||||
EgressUntagged=2022-2025
|
|
@ -0,0 +1,5 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=no
|
||||
VLAN=
|
||||
EgressUntagged=
|
|
@ -7,4 +7,8 @@ IPv6AcceptRA=no
|
|||
Bridge=bridge99
|
||||
|
||||
[BridgeVLAN]
|
||||
VLAN=4064-4094
|
||||
PVID=1010
|
||||
VLAN=1008-1013
|
||||
VLAN=1100-1110
|
||||
EgressUntagged=1012-1015
|
||||
EgressUntagged=1103-1108
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=
|
||||
VLAN=
|
||||
EgressUntagged=
|
||||
|
||||
PVID=2010
|
||||
VLAN=2008-2013
|
||||
VLAN=2100-2110
|
||||
EgressUntagged=2012-2015
|
||||
EgressUntagged=2103-2108
|
|
@ -0,0 +1,9 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=
|
||||
VLAN=
|
||||
EgressUntagged=
|
||||
|
||||
PVID=2010
|
||||
VLAN=2008-2013
|
||||
EgressUntagged=2012-2015
|
|
@ -0,0 +1,5 @@
|
|||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[BridgeVLAN]
|
||||
PVID=no
|
||||
VLAN=
|
||||
EgressUntagged=
|
|
@ -4415,23 +4415,116 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
|
|||
|
||||
def test_bridge_vlan(self):
|
||||
copy_network_unit('11-dummy.netdev', '26-bridge-vlan-slave.network',
|
||||
'26-bridge.netdev', '26-bridge-vlan-master.network')
|
||||
'26-bridge.netdev', '26-bridge-vlan-master.network',
|
||||
copy_dropins=False)
|
||||
start_networkd()
|
||||
self.wait_online(['test1:enslaved', 'bridge99:degraded'])
|
||||
|
||||
output = check_output('bridge vlan show dev test1')
|
||||
print(output)
|
||||
self.assertNotRegex(output, '4063')
|
||||
for i in range(4064, 4095):
|
||||
self.assertRegex(output, f'{i}')
|
||||
self.assertNotRegex(output, '4095')
|
||||
# check if the default VID is removed
|
||||
self.assertNotIn('1 Egress Untagged', output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 1010:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(1012, 1016) or i in range(1103, 1109):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(1008, 1014) or i in range(1100, 1111):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
output = check_output('bridge vlan show dev bridge99')
|
||||
print(output)
|
||||
self.assertNotRegex(output, '4059')
|
||||
for i in range(4060, 4095):
|
||||
self.assertRegex(output, f'{i}')
|
||||
self.assertNotRegex(output, '4095')
|
||||
# check if the default VID is removed
|
||||
self.assertNotIn('1 Egress Untagged', output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 1020:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(1022, 1026) or i in range(1203, 1209):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(1018, 1024) or i in range(1200, 1211):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
# Change vlan IDs
|
||||
copy_network_unit('26-bridge-vlan-slave.network.d/10-override.conf',
|
||||
'26-bridge-vlan-master.network.d/10-override.conf')
|
||||
networkctl_reload()
|
||||
self.wait_online(['test1:enslaved', 'bridge99:degraded'])
|
||||
|
||||
output = check_output('bridge vlan show dev test1')
|
||||
print(output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 2010:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(2012, 2016) or i in range(2103, 2109):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(2008, 2014) or i in range(2100, 2111):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
output = check_output('bridge vlan show dev bridge99')
|
||||
print(output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 2020:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(2022, 2026) or i in range(2203, 2209):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(2018, 2024) or i in range(2200, 2211):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
# Remove several vlan IDs
|
||||
copy_network_unit('26-bridge-vlan-slave.network.d/20-override.conf',
|
||||
'26-bridge-vlan-master.network.d/20-override.conf')
|
||||
networkctl_reload()
|
||||
self.wait_online(['test1:enslaved', 'bridge99:degraded'])
|
||||
|
||||
output = check_output('bridge vlan show dev test1')
|
||||
print(output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 2010:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(2012, 2016):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(2008, 2014):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
output = check_output('bridge vlan show dev bridge99')
|
||||
print(output)
|
||||
for i in range(1000, 3000):
|
||||
if i == 2020:
|
||||
self.assertIn(f'{i} PVID', output)
|
||||
elif i in range(2022, 2026):
|
||||
self.assertIn(f'{i} Egress Untagged', output)
|
||||
elif i in range(2018, 2024):
|
||||
self.assertIn(f'{i}', output)
|
||||
else:
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
# Remove all vlan IDs
|
||||
copy_network_unit('26-bridge-vlan-slave.network.d/30-override.conf',
|
||||
'26-bridge-vlan-master.network.d/30-override.conf')
|
||||
networkctl_reload()
|
||||
self.wait_online(['test1:enslaved', 'bridge99:degraded'])
|
||||
|
||||
output = check_output('bridge vlan show dev test1')
|
||||
print(output)
|
||||
self.assertNotIn('PVID', output)
|
||||
for i in range(1000, 3000):
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
output = check_output('bridge vlan show dev bridge99')
|
||||
print(output)
|
||||
self.assertNotIn('PVID', output)
|
||||
for i in range(1000, 3000):
|
||||
self.assertNotIn(f'{i}', output)
|
||||
|
||||
def test_bridge_vlan_issue_20373(self):
|
||||
copy_network_unit('11-dummy.netdev', '26-bridge-vlan-slave-issue-20373.network',
|
||||
|
|
Loading…
Reference in a new issue