mirror of
https://github.com/systemd/systemd.git
synced 2025-01-10 05:18:17 +03:00
test-network: add test case for removal of nexthop that is a member of a group nexthop
This commit is contained in:
parent
3cbbe8635a
commit
f9b5c27645
12
test/test-network/conf/25-nexthop-test1.network
Normal file
12
test/test-network/conf/25-nexthop-test1.network
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
[Match]
|
||||||
|
Name=test1
|
||||||
|
|
||||||
|
[Network]
|
||||||
|
Address=192.168.20.21/24
|
||||||
|
IPv6AcceptRA=no
|
||||||
|
|
||||||
|
[Route]
|
||||||
|
Destination=10.10.11.10
|
||||||
|
# Nexthop 21 is configured as a group nexthop of 1 and 20
|
||||||
|
NextHop=21
|
@ -4033,6 +4033,33 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
|
|||||||
|
|
||||||
self.check_nexthop(manage_foreign_nexthops, first=True)
|
self.check_nexthop(manage_foreign_nexthops, first=True)
|
||||||
|
|
||||||
|
# Remove nexthop with ID 20
|
||||||
|
check_output('ip nexthop del id 20')
|
||||||
|
copy_network_unit('11-dummy.netdev', '25-nexthop-test1.network')
|
||||||
|
networkctl_reload()
|
||||||
|
|
||||||
|
# 25-nexthop-test1.network requests a route with nexthop ID 21,
|
||||||
|
# which is silently removed by the kernel when nexthop with ID 20 is removed in the above,
|
||||||
|
# hence test1 should be stuck in the configuring state.
|
||||||
|
self.wait_operstate('test1', operstate='routable', setup_state='configuring')
|
||||||
|
|
||||||
|
# Wait for a while, and check if the interface is still in the configuring state.
|
||||||
|
time.sleep(1)
|
||||||
|
output = networkctl_status('test1')
|
||||||
|
self.assertIn('State: routable (configuring)', output)
|
||||||
|
|
||||||
|
# Reconfigure the interface that has nexthop with ID 20 and 21,
|
||||||
|
# then the route requested by test1 can be configured.
|
||||||
|
networkctl_reconfigure('dummy98')
|
||||||
|
self.wait_online(['test1:routable'])
|
||||||
|
|
||||||
|
# Check if the requested route actually configured.
|
||||||
|
output = check_output('ip route show 10.10.11.10')
|
||||||
|
print(output)
|
||||||
|
self.assertIn('10.10.11.10 nhid 21 proto static', output)
|
||||||
|
self.assertIn('nexthop via 192.168.5.1 dev veth99 weight 3', output)
|
||||||
|
self.assertIn('nexthop via 192.168.20.1 dev dummy98 weight 1', output)
|
||||||
|
|
||||||
remove_link('veth99')
|
remove_link('veth99')
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user