The sysctl net.ipv6.conf.all.autoconf does not apply to "all"

Bug #96578 reported by Mattias Wadenstein on 2007-03-26
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
linux-source-2.6.20 (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: linux-source-2.6.20

Just specifying:

net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.autoconf=0

in sysctl.conf does not actually disable autoconf.

Explicitly setting

net.ipv6.conf.eth0.autoconf=0

on the other hand does work (if I've added "ipv6" to /etc/modules, but that's another issue).

Our workaround for this is to list enough ethN to cover "all likely" network interfaces, but that's not exactly a neat solution.
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.21.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 Cannot stat file /proc/4797/fd/11: No such file or directory
                      USER PID ACCESS COMMAND
 /dev/snd/controlC0: maswan 2400 F.... pulseaudio
 /dev/snd/pcmC0D0p: maswan 2400 F...m pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf3020000 irq 21'
   Mixer name : 'Analog Devices AD1884'
   Components : 'HDA:11d41884,103c2819,00100100'
   Controls : 30
   Simple ctrls : 18
DistroRelease: Ubuntu 10.04
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.

 ppp0 no wireless extensions.
MachineType: Hewlett-Packard HP Compaq dc7800 Convertible Minitower
NonfreeKernelModules: openafs
Package: linux (not installed)
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-33-generic root=/dev/mapper/rootvg-rootlv ro quiet splash
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=(custom, user)
 LANG=en_US
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-33.71-generic 2.6.32.41+drm33.18
Regression: No
RelatedPackageVersions: linux-firmware 1.34.7
Reproducible: Yes
RfKill:

Tags: lucid kconfig needs-upstream-testing
Uname: Linux 2.6.32-33-generic x86_64
UserGroups: adm admin audio cdrom dialout dip floppy fuse lpadmin plugdev video voice
dmi.bios.date: 02/26/2009
dmi.bios.vendor: Hewlett-Packard
dmi.bios.version: 786F1 v01.28
dmi.board.asset.tag: CZC84703HB
dmi.board.name: 0AACh
dmi.board.vendor: Hewlett-Packard
dmi.chassis.asset.tag: CZC84703HB
dmi.chassis.type: 6
dmi.chassis.vendor: Hewlett-Packard
dmi.modalias: dmi:bvnHewlett-Packard:bvr786F1v01.28:bd02/26/2009:svnHewlett-Packard:pnHPCompaqdc7800ConvertibleMinitower:pvr:rvnHewlett-Packard:rn0AACh:rvr:cvnHewlett-Packard:ct6:cvr:
dmi.product.name: HP Compaq dc7800 Convertible Minitower
dmi.sys.vendor: Hewlett-Packard

Thank you for taking the time to report this bug and helping to make Ubuntu better. Now that the 7.10 Gutsy Gibbon release of Ubuntu is out, we were wondering if you can still reproduce this issue. Could you please download and try the new version of Ubuntu from http://www.ubuntu.com/getubuntu/download and report back your results. If the issue is still present in the new release, please attach the following information:

* uname -a > uname-a.log
* cat /proc/version_signature > version.log
* dmesg > dmesg.log
* sudo lspci -vvnn > lspci-vvnn.log

Please be sure to attach each file as a separate attachment. For more information regarding the kernel team bug policy, please refer to https://wiki.ubuntu.com/KernelTeamBugPolicies . Thanks again and we appreciate your help and feedback.

Changed in linux-source-2.6.20:
status: New → Incomplete
wolfger (wolfger) wrote :

5 months with no reply. We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in linux-source-2.6.20:
status: Incomplete → Invalid
ph3x (christian-ph3x) wrote :

Hello,

I´m reopening this bug as it seems to be affecting current versions of ubuntu too.
I´ve attached the requested logs as requested by Leann.
Note: I´m running ubuntu inside a virtual box environment.

Regards,
Christian

(version.log)

ph3x (christian-ph3x) wrote :

uname -a

ph3x (christian-ph3x) wrote :

dmesg.log

ph3x (christian-ph3x) wrote :

lspci-vvnn.log

Changed in linux-source-2.6.20 (Ubuntu):
status: Invalid → New
wolfger (wolfger) wrote :

Since the problem is now reported on 2.6.32, I'm opening it against "linux" and putting 2.6.20 back to invalid.

Changed in linux-source-2.6.20 (Ubuntu):
status: New → Invalid
tags: added: kj-triage

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 96578

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

apport information

tags: added: apport-collected
description: updated

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Brian Candler (b-candler) wrote :

I have observed this as a more general problem with any sysctl setting for "all" interfaces.

For example, try:

sysctl -a | grep '^net\.ipv4\.conf.*send_redirects'
sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -a | grep '^net\.ipv4\.conf.*send_redirects'
sysctl -w net.ipv4.conf.all.send_redirects=1
sysctl -a | grep '^net\.ipv4\.conf.*send_redirects'

It seems that setting conf.all does not have any effect on the individual conf.<interface> settings. This begs the question of what setting conf.all is supposed to do.

There is also conf.default which appears to be the value inherited when a new interface is created. To test:

sysctl -w net.ipv4.conf.all.send_redirects=1
sysctl -w net.ipv4.conf.default.send_redirects=0
brctl addbr br100
sysctl net.ipv4.conf.br100.send_redirects # it's 0

sysctl -w net.ipv4.conf.all.send_redirects=1
sysctl net.ipv4.conf.br100.send_redirects # it's still 0

sysctl -w net.ipv4.conf.all.send_redirects=0
sysctl -w net.ipv4.conf.default.send_redirects=1
brctl addbr br101
sysctl net.ipv4.conf.br101.send_redirects # it's 1
sysctl net.ipv4.conf.br100.send_redirects # it's still 0

This is sensible. Hence I can see how "default" is useful, but not "all".

Above tests done with Ubuntu 12.04.4 running kernel 3.8.0-36-generic

Brian Candler (b-candler) wrote :

The answer for IPv4 was figured out here:
http://unix.stackexchange.com/questions/90443/sysctl-proc-sys-net-ipv46-conf-whats-the-difference-between-all-defau

The behaviour is non-obvious. For some settings the interface and 'all' settings are ANDed together; for others they are OR'd, for others the MAX is taken.

send_redirects is an OR, which means you can enable sending of redirects on all interfaces (conf.all.send_redirects=1) but you cannot disable sending them on all interfaces. In that case you have to set conf.all.send_redirects=0 *and* set each individual interface.

So in /etc/sysctl.conf you have to list all the interfaces which the host has (or may have) at startup time, if you want to disable sending of redirects on those interfaces. A tri-state setting for conf.all would be much more useful, but that's not what we have.

Now back to the original report, which was about net.ipv6.conf.all.autoconf=0. What is the intended behaviour from the kernel authors?

include/linux/inetdevice.h appears to have IPv4 settings only. For IPv6:

grep -R devconf_all net/ipv6

Unfortunately it's not obvious to me how "all" + interface-specific parameters interact for IPv6. There are some places where the two are explicitly combined: e.g.

[net/ipv6/ndisc.c]
                     (net->ipv6.devconf_all->proxy_ndp || idev->cnf.proxy_ndp) &&

I don't see anything similar for autoconf. However there is:

[net/ipv6/af_inet6.c]
MODULE_PARM_DESC(autoconf, "Enable IPv6 address autoconfiguration on all interfaces");

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers