Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#27994 - [linux] make ipv6 builtin

Attached to Project: Arch Linux
Opened by Tom Gundersen (tomegun) - Thursday, 19 January 2012, 10:32 GMT
Last edited by Tobias Powalowski (tpowa) - Thursday, 16 February 2012, 12:36 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Thomas Bächler (brain0)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


When IPv6 support is built as a module it is more fragile than necessary as we don't know when the module will be loaded on boot. This causes problems for e.g. sysctl.

This would slighly increase our kernel size, but it is only a matter of time before everyone will be needing ipv6 support anyway.

In order to disable ipv6 support this can be done by booting with
'ipv6.disable_ipv6=1'. There are other ways to achieve the same result, but they are all discouraged.

Fedora recently discussed this:
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Thursday, 16 February 2012, 12:36 GMT
Reason for closing:  Fixed
Additional comments about closing:  3.2.6-2 and 3.0.21-2
Comment by Thomas Bächler (brain0) - Thursday, 19 January 2012, 12:38 GMT
I don't see a reason to do this. Can you please elaborate more on the problems this causes when built as a module? The general rule should be: If you can build it as a module, do it.
Comment by Tom Gundersen (tomegun) - Thursday, 19 January 2012, 13:09 GMT
I guess a common sysctl setting is (makes sure your computer is not traceable back to your MAC address)


If ipv6 is a module, it might not yet be loaded even if the interface is up, at the time the sysctl settings are applied. When the ipv6 module is eventually loaded you'll end up with use_tmpaddr=0.
Comment by Tom Gundersen (tomegun) - Thursday, 19 January 2012, 13:11 GMT
I should add that I'm currently having lots of problems with ipv6, so my ability to reproduce bugs should be taken with a grain of salt (might be other things messing with me). However, when I found that Fedora had already given up on making this work, I figured my problem was probably real.
Comment by Thomas Bächler (brain0) - Thursday, 19 January 2012, 14:02 GMT
If you want to use ipv6, there is nothing that prevents you from loading the module early using rc.conf. I don't see the problem here.
Comment by Tom Gundersen (tomegun) - Thursday, 19 January 2012, 14:31 GMT
Sure, I'll always be able to work around it for myself. However, it is rather ugly to require this workaround, and not at all obvious.

Considering everyone will in the not too distant future need ipv6, having everyone put it in rc.conf does not seem like a good solution when we can just make it DTRT.
Comment by Pierre Schmitz (Pierre) - Thursday, 19 January 2012, 15:01 GMT
I am using ipv6 on my server for a few years now and didn't have any problems. But yes, you have to add the ipv6 module to the MODULES array of rc.conf.

I am for keeping this kind of "opt-in" method as ipv6 will cause problems for those who cannot use it. (even though one should disable it here as well to prevent user space programms from triggering an auto load)
Comment by Tom Gundersen (tomegun) - Thursday, 19 January 2012, 15:28 GMT
@Pierre: as you point out those who can't/won't use ipv6 already need to disable it manually, so they would not be affected by the change.

The only difference this change would make would be that it would no longer be necessary to put ipv6 in MODULES. IMHO this would be a good thing as it is not at all obvious that one should need to do that (after all, the ipv6 module would probably be loaded by the time boot is finished, it would just not necessarily have the options you expect applied to it).