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>
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list, join our IRC channel #systemd on libera.chat or Matrix channel
Stable branches with backported patches are available in the stable repo.
We have a security bug bounty program sponsored by the Sovereign Tech Fund hosted on YesWeHack
Repositories with distribution packages built from git main are available on OBS, and also repositories with packages built from the latest stable release
