http://bugzilla.novell.com/show_bug.cgi?id=494958
http://bugzilla.novell.com/show_bug.cgi?id=494958#c17
--- Comment #17 from Marius Tomaschewski 2009-12-01 21:16:53 UTC ---
Created an attachment (id=330351)
--> (http://bugzilla.novell.com/attachment.cgi?id=330351)
Compromise proposal (just the code without the ifup glue).
Georg,
the sed s/all/${INTERFACE}/ is not acceptable. Basically "default" and
not "all" is responsible for the setting of a new interface. It would
also replace all all substrings... but this would be a question for a
fix in the sed call.
The
grep ^net.ipv6.conf.${INTERFACE} /etc/sysctl.conf | sed s/all/${INTERFACE}/
does not make any sense. For what do you want to grep for the interface
"grep ^net.ipv6.conf.br1" and then replace s/all/${INTERFACE}/ ?
Further, create a eth1.42 interface using "brctl addbr eth1.42" and take
a look to the "sysctl -a | grep ^net.ipv6.conf" output.
Last, but not least, your script implements only applying of the "all"
policy to interfaces. It does not support per-interface setting, that
legitimates the script in sysconfig for me (independently of this bug).
I'd say, we can apply the global settings from /etc/sysctl.conf first,
but without any changes to it and only when a variable is enabled.
(Setting "all", changes the global policy that should be set anyway,
but does not modify any per interface settings, so it is fine).
See the attached script, that implements this.
Further, we can have a special "ifsysctl" where you can define settings
for all interfaces + "ifsysctl.$INTERFACE" that _should_ have interface
specific settings only.
Note, that even when using -e -q, you'll get an error for each sysctl key
(interface) that does not exists (perhaps this is a bug in sysctl or in
the manual page ;-):
# bash sysctl.sh | sysctl -e -q -p -
/proc/sys/net/ipv6/conf/eth1.2/forwarding: No such file or directory
/proc/sys/net/ipv6/conf/eth1.2/use_tempaddr: No such file or directory
/proc/sys/net/ipv6/conf/eth1.2/disable_ipv6: No such file or directory
OK, this can be solved with a 2>/dev/null.
Finally, you _don't_ need to use $INTERFACE or $SYSCTL_IF, but you _can_.
I think, it is possible to speak with the NetworkManager maintainer to
allow to be allowed to call it when NETWORKMANAGER=no :-) Wel'll see.
BTW: Use of a combination of NetworkManager and ifup is not supported.
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.