diff options
Diffstat (limited to 'package/base-files/files')
| -rw-r--r-- | package/base-files/files/etc/hotplug.d/iface/10-routes | 27 | ||||
| -rwxr-xr-x | package/base-files/files/lib/network/config.sh | 7 | 
2 files changed, 29 insertions, 5 deletions
| diff --git a/package/base-files/files/etc/hotplug.d/iface/10-routes b/package/base-files/files/etc/hotplug.d/iface/10-routes index 3e0bebbbe..76a406284 100644 --- a/package/base-files/files/etc/hotplug.d/iface/10-routes +++ b/package/base-files/files/etc/hotplug.d/iface/10-routes @@ -90,6 +90,33 @@ case "$ACTION" in  			ifconfig "$DEVICE" del "$ip6addr"  			ifconfig "$DEVICE" add "$ip6addr"  		} +		 +		# Setup sysctls +		local proto accept_ra send_rs +		 +		config_get proto "$INTERFACE" proto +		if [ "$proto" = dhcp ]; then +			accept_ra=1 +			send_rs=0 +		else +			accept_ra=0 +			send_rs=1 +		fi + +		config_get_bool accept_ra "$INTERFACE" accept_ra $accept_ra +		[ $accept_ra -eq 0 ] || { +			logger -t ifup "Allowing Router Advertisements on $INTERFACE ($DEVICE)" +			accept_ra=2 +		} +		do_sysctl "net.ipv6.conf.$INTERFACE.accept_ra" $accept_ra + +		config_get_bool send_rs "$INTERFACE" send_rs $send_rs +		[ $send_rs -eq 0 ] || { +			logger -t ifup "Enabling Router Solicitations on $INTERFACE ($DEVICE)" +			send_rs=2 +		} +		do_sysctl "net.ipv6.conf.$INTERFACE.forwarding" $send_rs +  		# Setup routes  		config_foreach "add_route" route diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 4a6cb7cb4..aa90077ad 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -170,11 +170,6 @@ prepare_interface() {  			local macaddr  			config_get macaddr "$config" macaddr  			[ -x /usr/sbin/brctl ] && { -				# Disable IPv6 for bridge ports -				do_sysctl net.ipv6.conf.$iface.disable_ipv6 1 -				[ "${iface##wlan}" != "$iface" ] && \ -					do_sysctl net.ipv6.conf.mon.$iface.disable_ipv6 1 -  				ifconfig "br-$config" 2>/dev/null >/dev/null && {  					local newdevs devices  					config_get devices "$config" device @@ -183,6 +178,7 @@ prepare_interface() {  					done  					uci_set_state network "$config" device "$newdevs"  					$DEBUG ifconfig "$iface" 0.0.0.0 +					$DEBUG do_sysctl "net.ipv6.conf.$iface.disable_ipv6" 1  					$DEBUG brctl addif "br-$config" "$iface"  					# Bridge existed already. No further processing necesary  				} || { @@ -192,6 +188,7 @@ prepare_interface() {  					$DEBUG brctl setfd "br-$config" 0  					$DEBUG ifconfig "br-$config" up  					$DEBUG ifconfig "$iface" 0.0.0.0 +					$DEBUG do_sysctl "net.ipv6.conf.$iface.disable_ipv6" 1  					$DEBUG brctl addif "br-$config" "$iface"  					$DEBUG brctl stp "br-$config" $stp  					# Creating the bridge here will have triggered a hotplug event, which will | 
