aboutsummaryrefslogtreecommitdiffstats
path: root/package/netifd/files/etc/hotplug.d/iface/10-sysctl
blob: 33ac5c329cbf1775d325432f29f1c9550621cfca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Skip fake devices (e.g. relayd)
grep -qs "^ *$DEVICE:" /proc/net/dev || exit 0

case "$ACTION" in
	ifup)
		include /lib/network
		scan_interfaces

		# 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.$DEVICE.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.$DEVICE.forwarding" $send_rs
	;;
esac