Messages in this thread |  | | From | David Woodhouse <> | | Subject | [PATCH 0/6] Deprecate Legacy IP | | Date | Wed, 1 Apr 2026 08:44:14 +0100 |
| |
RFC1883, the IPv6 standard, was published in the final decade of the 1900s. That's closer in time to the Apollo 11 moon landing than it was to today.
Even our esteemed Maddog has worked with computers for longer in the IPv6 era, than he ever did before it.
Yet Linux still can't even be *built* with only IPv6 support and without support for Legacy IP. This long overdue patch series fixes that, and immediately marks Legacy IP for deprecation.
It also cleans up a few tautological "INET && IPV6" and "INET || IPV6" checks, since IPV6 (and now LEGACY_IP) cannot be selected without the overall CONFIG_INET option.
For now, we only add a warning when a process *listens* on a Legacy IP socket (since you can listen on IPv6 and still accept connections which have come through a timewarp from the 20th century. Adding warnings for making outbound connections or *accepting* on Legacy IP can come later.
'I would be happy if "Legacy IP" ceased to be the "industry standard" and IPv6 be the default, even if I had to beat IPv6 into the head of every single network administrator's head with a shovel.' said Jon 'maddog' Hall, ancient supporter of Free and Open Source Software.
David Woodhouse (6): net: Simplify tautological CONFIG_INET/CONFIG_IPV6 guards net: Add CONFIG_LEGACY_IP option net: Guard Legacy IP entry points with CONFIG_LEGACY_IP net: Make IPv4-only Kconfig options depend on LEGACY_IP net: Change CONFIG_INET to CONFIG_LEGACY_IP for IPv4-only code net: Warn when processes listen on AF_INET sockets
.../net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 6 ++-- .../net/ethernet/mellanox/mlx5/core/en/tc_tun.h | 2 +- .../ethernet/mellanox/mlx5/core/en/tc_tun_encap.c | 2 +- .../ethernet/netronome/nfp/flower/tunnel_conf.c | 2 +- include/linux/indirect_call_wrapper.h | 4 ++- net/bridge/br_arp_nd_proxy.c | 2 +- net/bridge/br_private.h | 8 +++++ net/core/filter.c | 12 +++---- net/core/secure_seq.c | 2 +- net/core/sock.c | 2 +- net/ipv4/Kconfig | 37 ++++++++++++++++++++++ net/ipv4/af_inet.c | 23 +++++++++++--- net/ipv4/devinet.c | 2 ++ net/ipv4/route.c | 1 - net/ipv4/tcp_ipv4.c | 30 ++++++++++-------- net/mac80211/main.c | 10 +++--- net/netfilter/nfnetlink_queue.c | 2 +- 17 files changed, 105 insertions(+), 42 deletions(-)
|  |