Re: [gentoo-user] Disable IPv6 on specific interface
On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. -- Regards, Mick signature.asc Description: This is a digitally signed message part.
Re: [gentoo-user] Disable IPv6 on specific interface
Mick michaelkintz...@gmail.com writes: On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. Hello Mick, The module ipv6 has only three parameters, each of which is disable ipv6, disable ipv6 on all interfaces, disable autoconf on all interfaces, none of these is what I want to achieve. Module tg3 has only on parameters which control the debug level. Currently I just call sysctl net.ipv6.conf.enp4s0.disable_ipv6=1 in preup(), which works just fine. I 'm just wondering if there 's some more proper way to do it. Since in my opinion, this should be done at the first moment when the interface is present, not when the interface is up. -- Zesen Qian (钱泽森)
Re: [gentoo-user] Disable IPv6 on specific interface
Mick michaelkintz...@gmail.com wrote: On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. You may be able to use the feature of modprobe that executes a command when the module loads and that way disable the ipv6 interface. I have not tried this myself. -- Your life is like a penny. You're going to lose it. The question is: How do you spend it? John Covici cov...@ccs.covici.com
Re: [gentoo-user] Disable IPv6 on specific interface
On Tuesday 30 Dec 2014 10:10:04 Zesen Qian wrote: Mick michaelkintz...@gmail.com writes: On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. Hello Mick, The module ipv6 has only three parameters, each of which is disable ipv6, disable ipv6 on all interfaces, disable autoconf on all interfaces, none of these is what I want to achieve. Right, I didn't think that you would want to disable IPv6 completely, but mentioned it for completeness. Module tg3 has only on parameters which control the debug level. Yes, I thought it unlikely that a hardware driver would be used to configure IPv6, but it was worth checking. Currently I just call sysctl net.ipv6.conf.enp4s0.disable_ipv6=1 in preup(), which works just fine. I 'm just wondering if there 's some more proper way to do it. Since in my opinion, this should be done at the first moment when the interface is present, not when the interface is up. I'm afraid I don't know of any other way to do it. -- Regards, Mick signature.asc Description: This is a digitally signed message part.
Re: [gentoo-user] Disable IPv6 on specific interface
cov...@ccs.covici.com writes: Mick michaelkintz...@gmail.com wrote: On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. You may be able to use the feature of modprobe that executes a command when the module loads and that way disable the ipv6 interface. I have not tried this myself. Hello Covici, Yes, there's a rule named install modulename [command..] in modprobe, but aren't they only applied to modprobe itself? I mean, in my case the ipv6 and tg3 is loaded automatically(maybe by udev?), not by running modprobe ipv6. is this kind of module loading also affected by modprobe rule(in /etc/modprobe.d/*.conf)? -- Zesen Qian (钱泽森)
Re: [gentoo-user] Disable IPv6 on specific interface
Zesen Qian gentoo-u...@dnspod-free.mydnspod.net wrote: cov...@ccs.covici.com writes: Mick michaelkintz...@gmail.com wrote: On Tuesday 30 Dec 2014 03:27:34 Zesen Qian wrote: Hello list, Sorry for hijacking Rich's thread, resend here. I want to disable IPv6 on an certain interface, a simple google tell me to add one line to /etc/sysctl.d/local.conf net.ipv6.conf.enp4s0.disable_ipv6=1 Simple enough, but the problem I have is that both ipv6 and the dirver of the network card(tg3) is loaded by modules. They 're not loaded when the service sysctl is started, so there's no entry named net.ipv6.conf.enp4s0, which make sysctl not working. So my question is that, is there any way to disable IPv6 on specific interface, as early as I can? I want to make it early because I don't want to receive any RA to mess up my route table. I guess just adding sysctl to preup() in /etc/conf.d/net should do the trick, but may I make it earlier? Any comment is appreciated. Unless the kernel knows of the enp4s0 interface and therefore lists it under sysctl, I can't see how it can be disabled. You could try disabling IPv6 altogether in the kernel, but this may not be what you want to achieve. Alternatively, have a look with modinfo in the module options in the unlikely chance that the module has some option which disables IPv6 functionality. You may be able to use the feature of modprobe that executes a command when the module loads and that way disable the ipv6 interface. I have not tried this myself. Hello Covici, Yes, there's a rule named install modulename [command..] in modprobe, but aren't they only applied to modprobe itself? I mean, in my case the ipv6 and tg3 is loaded automatically(maybe by udev?), not by running modprobe ipv6. is this kind of module loading also affected by modprobe rule(in /etc/modprobe.d/*.conf)? I think so, as I use it for my soundcard modules which udev loads. -- Your life is like a penny. You're going to lose it. The question is: How do you spend it? John Covici cov...@ccs.covici.com