On Sun, 2005-09-04 at 10:51 -0500, Bryan J. Smith wrote: > On Sat, 2005-09-03 at 19:06 -0700, Sean O'Connell wrote: > > This got me curious. Looking at /etc/sysconfig/network-scripts/ifup- > > ipv6, you can control ipv6 from /etc/sysconfig/network. > > > > # Uses following information from "/etc/sysconfig/network": > > # NETWORKING_IPV6=yes|no: controls IPv6 initialization (global setting) > > # IPV6_DEFAULTDEV=<device>: controls default route (optional) > > # IPV6_DEFAULTGW=<address>: controls default route (optional) > > But that's the Red Hat configuration script approach at boot/init. > What is _actually_ enabling/disabling it? > > On Sun, 2005-09-04 at 13:24 +0200, Maciej ?enczykowski wrote: > > That's what I was thinking of... I haven't tested this in a while (and > > don't feel like rebooting to test it now), but last time I set > > NETWORKING_IPV6=no resulted in IPV6 initialization not being performed, > > _BUT_ enough IPV6 initialization was done (possibly due to module > > autoloading?) to result in the ipv6 module loading (and that's enough for > > later programs to do pointless (in a non-IPV6 environment) IPv6 > > queries/connects/sockets etc.) > > Again, still Red Hat approach at boot/init. > What is the "common denominator"? > > I did a trace from the scripts ... > > /etc/sysconfig/network is used by /etc/init.d/network, > which calls /etc/sysconfig/network-scripts/init.ipv6-global, > which sources /etc/sysconfig/network-scripts/network-functions-ipv6 > > The init.ipv6.global script basically tests for IPv6 support in the > kernel by looking for the existance of /proc/net/if_inet6. > > And then it starts looking at the interfaces by running "sysctl -a" and > searching for the prefix "net.ipv6.conf." and -- bam! -- there it is, > net.ipv6.conf.eth0, etc... There is even a set of IPv6 defaults for > interfaces in net.ipv6.conf.default (or even .all for all interfaces). > You can use "sysctl -w" to write a value, or "echo >" into the /proc > filesystem (/proc/sys/net...). > > Now that helps you on startup. You set the defaults on interfaces to > not configure autoconf (LINKLOCAL fe80::/64 subnet) address IIRC. > > But still, the easiest way to remove IPv6 directly is to use ifconfig. > E.g., the LINKLOCAL (fe80::/64 subnet) on my interfaces is: > ifconfig eth0 del fe80::201:6cff:fead:f11b/64 > > And sure enough, the interface doesn't even show up in sysctl anymore. > Which makes me wonder if there is a way to disable all IPv6 setup. > > Otherwise, here is the homepage for the initscripts-ipv6 scripts: > http://www.deepspace6.net/projects/initscripts-ipv6.html > Well, suffice to say, setting NETWORKING_IPV6=no doesn't work. I gave it a whirl last night on both CentOS 4.1 and FC3. I also tried adding IPV6INIT=no to ifcfg-eth0. Alas, neither seems to do the trick. It looks like one has to resort to one of the other methods. -- Sean