From bbf50a821d8134dcec0f00dce94885f7e6de3bcf Mon Sep 17 00:00:00 2001 From: Darren 'Tadgy' Austin Date: Thu, 26 Jul 2018 02:22:02 +0100 Subject: Added code to enable/disable v6 autoconf for an interface Signed-off-by: Robby Workman --- rc.inet1 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rc.inet1 b/rc.inet1 index cfd8d10..6cbaa15 100644 --- a/rc.inet1 +++ b/rc.inet1 @@ -157,6 +157,12 @@ if_up() { if [ -e /sys/class/net/${1%%:*} ]; then # interface exists if ! /sbin/ip address show permanent scope global dev ${1} 2>/dev/null | grep -Ewq '(inet|inet6)' || \ ! /sbin/ip link show dev ${1} | grep -wq "state UP" ; then # interface not up or not configured + # Enable/disable v6 IP auto configuration. + if [ "${USE_STATELESS[$i]}" = "yes" ]; then + echo "1" >/proc/sys/net/ipv6/conf/$1/autoconf + else + echo "0" >/proc/sys/net/ipv6/conf/$1/autoconf + fi if [ -n "${HWADDR[$i]}" ]; then # Set hardware address _before_ the interface goes up: echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} address ${HWADDR[$i]}" | $LOGGER /sbin/ip link set dev ${1} address ${HWADDR[$i]} @@ -280,6 +286,8 @@ if_down() { if [ -x /etc/rc.d/rc.wireless ]; then . /etc/rc.d/rc.wireless ${1} stop # Kill wireless daemons if any. fi + # Set interface v6 autoconf back to the default (disabled): + echo "0" >/proc/sys/net/ipv6/conf/$1/autoconf # If the interface is a bridge, then destroy it now: if [ -n "${BRNICS[$i]}" ]; then br_close $i -- cgit v1.2.3