network: unify IPv4ProxyARPAddress= and IPv6ProxyNDPAddress=

It is not necessary to provide dedicated settings for IPv4 and IPv6
proxy neighbor entries. Let's unify them.

The IPv4ProxyARPAddress= setting was introduced after v261. Hence, we
can freely rename it.
This commit is contained in:
Yu Watanabe
2026-08-17 16:58:03 +09:00
parent c1a72ab778
commit 80922ebbc5
6 changed files with 31 additions and 44 deletions
@@ -4,7 +4,7 @@ Name=dummy98
[Network]
IPv4ProxyARP=no
IPv4ProxyARPAddress=192.0.2.1
IPv4ProxyARPAddress=192.0.2.2
ProxyNeighbor=192.0.2.1
ProxyNeighbor=192.0.2.2
IPv6AcceptRA=no
Address=10.0.0.1/24
@@ -3,10 +3,10 @@
Name=dummy98
[Network]
IPv4ProxyARPAddress=192.0.2.1
IPv4ProxyARPAddress=192.0.2.2
IPv4ProxyARPAddress=192.0.2.3
IPv4ProxyARPAddress=192.0.2.4
IPv4ProxyARPAddress=192.0.2.5
ProxyNeighbor=192.0.2.1
ProxyNeighbor=192.0.2.2
ProxyNeighbor=192.0.2.3
ProxyNeighbor=192.0.2.4
ProxyNeighbor=192.0.2.5
IPv6AcceptRA=no
Address=10.0.0.1/24
@@ -3,11 +3,11 @@
Name=dummy98
[Network]
IPv6ProxyNDPAddress=2607:5300:203:5215:5::1
IPv6ProxyNDPAddress=2607:5300:203:5215:4::1
IPv6ProxyNDPAddress=2607:5300:203:5215:3::1
IPv6ProxyNDPAddress=2607:5300:203:5215:2::1
IPv6ProxyNDPAddress=2607:5300:203:5215:1::1
ProxyNeighbor=2607:5300:203:5215:5::1
ProxyNeighbor=2607:5300:203:5215:4::1
ProxyNeighbor=2607:5300:203:5215:3::1
ProxyNeighbor=2607:5300:203:5215:2::1
ProxyNeighbor=2607:5300:203:5215:1::1
IPv6AcceptRA=no
Address=66.70.129.136/32
Address=66.70.129.142/32
+2 -2
View File
@@ -5384,10 +5384,10 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
for i in range(1, 6):
self.assertRegex(output, f'192.0.2.{i} *proxy')
# IPv4ProxyARPAddress= implies IPv4ProxyARP=yes, mirroring IPv6ProxyNDPAddress=.
# When a proxy ARP address is specified, IPv4ProxyARP=yes is implied.
self.check_ipv4_sysctl_attr('dummy98', 'proxy_arp', '1')
# Explicit IPv4ProxyARP=no must suppress all IPv4ProxyARPAddress= entries and
# Explicit IPv4ProxyARP=no must suppress all IPv4 proxy ARP address entries and
# must not force proxy_arp=1. The module is add-only (no reconcile/remove pass),
# so phase 2 starts from a clean interface: stop networkd, delete the dummy to
# flush the kernel neighbor-proxy table, swap the .network file, and restart.