--- ethernet.orig 2012-03-06 16:50:58.246739000 +0100 +++ ethernet 2012-03-06 16:50:38.986739006 +0100 @@ -132,13 +132,15 @@ done fi + SYSCTL_INTERFACE="${INTERFACE/.//}" + # Load ipv6 module if necessary (FS#25530) case "$IP6" in dhcp*|stateless|static) [ -d "/proc/sys/net/ipv6" ] || modprobe ipv6 ;; ""|no) - [ -d /proc/sys/net/ipv6 ] && sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=0 + [ -d /proc/sys/net/ipv6 ] && sysctl -q -w net.ipv6.conf.$SYSCTL_INTERFACE.accept_ra=0 ;; *) report_iproute "IP6 must be 'dhcp', 'dhcp-noaddr', 'stateless', 'static' or 'no'" @@ -150,11 +152,9 @@ if [[ -x /usr/sbin/dhclient ]]; then _DHCLIENT_PIDFILE=/run/dhclient6-${INTERFACE}.pid if [[ "$IP6" = "dhcp-noaddr" ]]; then - sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=1 DHCLIENT6_OPTIONS="-S ${DHCLIENT6_OPTIONS}" - else - sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=0 fi + sysctl -q -w net.ipv6.conf.$SYSCTL_INTERFACE.accept_ra=1 rm -r ${_DHCLIENT_PIDFILE} &>/dev/null report_debug ethernet_up dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${_DHCLIENT_PIDFILE} "$INTERFACE" if ! dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${_DHCLIENT_PIDFILE} ${DHCLIENT6_OPTIONS} "$INTERFACE"; then @@ -167,10 +167,10 @@ fi ;; stateless) - sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=1 + sysctl -q -w net.ipv6.conf.$SYSCTL_INTERFACE.accept_ra=1 ;; static) - sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=0 + sysctl -q -w net.ipv6.conf.$SYSCTL_INTERFACE.accept_ra=0 if [[ -n "$ADDR6" ]]; then for addr in "${ADDR6[@]}"; do report_debug ethernet_iproute_up ip -6 addr add "$addr" dev "$INTERFACE"