Linux内核社区近期迎来一项重要更新——通过引入CONFIG_LEGACY_IP编译选项,首次为IPv4支持提供了“可选弃用”路径。简单来说,这意味着开发者未来可以构建仅支持IPv6或仅支持IPv4的精简内核,协议栈分离与现代化进程迈出了实质性的关键一步。

长期活跃于Linux内核开发一线的资深开发者大卫·伍德豪斯(David Woodhouse)近日发布了一个补丁系列,标题直接命名为“弃用Linux内核中的旧版IP”。尽管他在愚人节前后发布了不少诙谐内容,但他本人也承认,其中许多工作具有实际意义。最终目标十分明确:让Linux内核能够仅支持IPv6,同时将IPv4的支持降级为“legacy”选项,在内核构建时按需启用或禁用。
这个补丁集共包含六个补丁,核心在于新增一个CONFIG_LEGACY_IP配置项。当前实现的效果是:如果一个进程尝试监听旧版IP(即IPv4)套接字,内核会发出警告。按照伍德豪斯的说法,这相当于“给遗产IP打上弃用标记”——当然,他补丁中这部分愚人节玩笑的成分较为明显。
作为亚马逊/AWS的工程师,伍德豪斯将这组补丁发布至内核邮件列表。或许担心因日期特殊而被忽略,他随后专门发布了一篇后续澄清文章:
确实,尽管日期特殊,我仍认为大部分内容应被认真对待并推进。
也许我们尚未真正进入弃用和发出使用警告的阶段,甚至可能暂时不会将配置选项命名为CONFIG_LEGACY_IP——但我真心希望我们能始终朝着“Legacy IP”这个术语方向迈进,而非在所有地方继续沿用“IPv4”。
但更关键的是,我们应该彻底完善CONFIG_INET和CONFIG_IPV[64]的分离,并且真正实现只使用其中一种协议栈进行构建。
因此,这个补丁系列最终会走向何方,仍有待后续进展。不过,允许构建仅支持IPv4或仅支持IPv6的内核,这件事本身逻辑上完全合理——尤其是在那些更前瞻、面向未来的网络环境中,其意义尤为突出。
