network: drop use of legacy DHCP relay agent in sd-dhcp-server

Then, this deprecates
- BindToInterface=
- RelayTarget=
- RelayAgentCircuitId=
- RelayAgentRemoteId=
settings in [DHCPServer] section.
These are gracefully translated as new settings.
This commit is contained in:
Yu Watanabe
2026-05-21 16:55:59 +09:00
parent aa063e593b
commit cb2bba6b04
18 changed files with 85 additions and 164 deletions
@@ -3,13 +3,12 @@
Name=client-peer
[Network]
Address=192.168.6.2/24
Address=198.51.100.10/24
DHCPServer=yes
IPv4Forwarding=yes
IPv6AcceptRA=no
[DHCPServer]
RelayTarget=192.168.5.1
RelayTarget=192.0.2.1
BindToInterface=no
RelayAgentCircuitId=string:sample_circuit_id
RelayAgentRemoteId=string:sample_remote_id
@@ -4,5 +4,4 @@ Name=client
[Network]
DHCP=yes
IPv4Forwarding=yes
IPv6AcceptRA=no
@@ -3,6 +3,5 @@
Name=server-peer
[Network]
Address=192.168.5.2/24
IPv4Forwarding=yes
Address=192.0.2.2/24
IPv6AcceptRA=no
@@ -1,16 +0,0 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[Match]
Name=server
[Network]
Address=192.168.5.1/24
IPv4Forwarding=yes
DHCPServer=yes
IPv6AcceptRA=no
[DHCPServer]
BindToInterface=no
PoolOffset=150
PoolSize=1
DNS=192.168.5.1
NTP=192.168.5.1
@@ -1,9 +0,0 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
[NetDev]
Name=server
Kind=veth
MACAddress=12:34:56:78:9b:bc
[Peer]
Name=server-peer
MACAddress=12:34:56:78:9b:bd
+15 -4
View File
@@ -8364,11 +8364,22 @@ class NetworkdDHCPServerRelayAgentTests(unittest.TestCase, Utilities):
tear_down_common()
def test_relay_agent(self):
check_output('ip netns add ns-server')
check_output('ip link add server type veth peer server-peer')
check_output('ip link set server netns ns-server')
check_output('ip netns exec ns-server ip link set server up')
check_output('ip netns exec ns-server ip address add 192.0.2.1/24 dev server')
start_dnsmasq(
namespace='ns-server',
interface='server',
ipv4_range='198.51.100.100,198.51.100.109',
ipv4_router='198.51.100.10',
)
copy_network_unit(
'25-agent-veth-client.netdev',
'25-agent-veth-server.netdev',
'25-agent-client.network',
'25-agent-server.network',
'25-agent-client-peer.network',
'25-agent-server-peer.network',
)
@@ -8378,7 +8389,7 @@ class NetworkdDHCPServerRelayAgentTests(unittest.TestCase, Utilities):
output = networkctl_status('client')
print(output)
self.assertRegex(output, r'Address: 192.168.5.150 \(DHCPv4 via 192.168.5.1\)')
self.assertRegex(output, r'Address: 198\.51\.100\.10[0-9] \(DHCPv4 via 192\.0\.2\.1\)')
def test_relay_agent_on_bridge(self):
copy_network_unit(
@@ -8392,7 +8403,7 @@ class NetworkdDHCPServerRelayAgentTests(unittest.TestCase, Utilities):
self.wait_online('bridge-relay:routable', 'client-peer:enslaved')
# For issue #30763.
self.check_networkd_log('bridge-relay: DHCPv4 server: STARTED')
self.check_networkd_log('bridge-relay: Relaying DHCPv4 messages')
def test_sd_dhcp_relay(self):
check_output('ip netns add ns-relay')