mirror of
https://github.com/systemd/systemd.git
synced 2026-08-04 15:10:33 +00:00
This adds an IPv4 counterpart to `IPv6ProxyNDPAddress=` for adding manual entries to the kernel's IPv4 neighbour proxy table (check via `ip -4 neighbour show proxy dev <dev>`). systemd-networkd only exposed `IPv4ProxyARP=` for per-interface `proxy_arp` sysctl (automatic proxy ARP) with no way to manage manual entries from a .network file. To avoid duplicating the IPv6 proxy NDP code path, both families are now combined into a single new `networkd-neighbor-proxy` module. The IPv6 behaviour is preserved: `IPv6ProxyNDPAddress=` still implies `IPv6ProxyNDP=yes` unless `IPv6ProxyNDP=` is explicitly disabled and entries are still dropped if the kernel has no IPv6 support. The same rule is applied to `IPv4ProxyARPAddress=`. It implies `IPv4ProxyARP=yes` when the sysctl is not explicitly set and has no effect if `IPv4ProxyARP=` has been set to false. This keeps the user model symmetric and predictable across both families: a single per-address setting that turns on the matching per-interface sysctl automatically, while still letting system administrators opt out by setting the boolean explicitly to false. Note that the IPv4 manual NTF_PROXY entries installed here would actually function without `proxy_arp` (unlike IPv6, where `proxy_ndp` gates the manual entries); the implication is kept for symmetry with `IPv6ProxyNDPAddress=` and is now called out explicitly in the man page, together with the fact that enabling `proxy_arp` also activates interface-wide automatic proxy ARP for routed-toward addresses on connected subnets. Parser-time validation rejects addresses the kernel would refuse: the ANY/null address for both families, IPv4 and IPv6 multicast and the IPv4 limited broadcast 255.255.255.255. Signed-off-by: Aritra Basu <aritrbas+gh@cisco.com>
22 lines
483 B
Plaintext
22 lines
483 B
Plaintext
[Match]
|
|
Name=dummy98
|
|
|
|
[Network]
|
|
IPForward=true
|
|
IPv6PrivacyExtensions=true
|
|
IPv6DuplicateAddressDetection=3
|
|
IPv6HopLimit=5
|
|
IPv4ProxyARP=true
|
|
IPv4ProxyARPAddress=192.0.2.1
|
|
IPv4ProxyARPAddress=192.0.2.2
|
|
IPv4ProxyARPAddress=0.0.0.0
|
|
IPv4ProxyARPAddress=224.0.0.1
|
|
IPv4ProxyARPAddress=255.255.255.255
|
|
IPv4ProxyARPPrivateVLAN=true
|
|
IPv6ProxyNDP=true
|
|
IPv6ProxyNDPAddress=2001:db8::1
|
|
IPv6ProxyNDPAddress=2001:db8::2
|
|
IPv6ProxyNDPAddress=::
|
|
IPv6ProxyNDPAddress=ff02::1
|
|
IPv6ProxyNDPAddress=fe80::1
|