On Thu, Apr 25, 2019 at 11:32:38AM +0200, Nico Schottelius wrote: > running some IPv6 only > networks. The systems in the IPv6 only networks do not need any IPv4 > support anymore and thus for switches/routers we turned the support off.
> Today we tried to turn off IPv4 in the Linux kernel at compile time. > But it seems that as soon as we turn off CONFIG_INET, CONFIG_IPV6 is > automatically turned off as well. Even if you don't want global nor even link-scope IPv4, way too many programs assume that at least 127.0.0.1 (ie, lo) is working. They can't be reconfigured to use ::1 without patching and rebuilding. > Coming back to my original question: is there a way or how would we turn > off IPv4 support in the Linux kernel? I believe this is not worth your time for today. Just do what IPv6-haters do on stock modern distros: have no routes for the other IP version configured; non-buggy programs will do the right thing. This seems to work well. Heck, I had a busy dev server with broken IPv4, I didn't notice that for 1.5 years until I tried to pull something directly from Github (which is still v4 only). You're a network admin so you know far more than me wrt anything that goes over the wire -- but as as a distro developer/user, I'd say there's a considerable cost to have every of tens of thousands programs shipped by a distro, and many more that are private to a company/university/etc, updated to autodetect how to access "localhost" on a particular box. That's an extra moving part where there was none before. Complexity is bad. Having the IPv4 stack built just for the lo interface simplifies things. Meow! -- ⢀⣴⠾⠻⢶⣦⠀ ⣾⠁⢠⠒⠀⣿⡁ Did ya know that typing "test -j8" instead of "ctest -j8" ⢿⡄⠘⠷⠚⠋⠀ will make your testsuite pass much faster, and fix bugs? ⠈⠳⣄⠀⠀⠀⠀