mirror of https://github.com/hak5/openwrt-owl.git
base-files: - properly disable IPv6 on bridge ports - introduce accept_ra option, defaults to true for dhcp interfaces, false for others - introduce send_rs option, defaults to true for static interfaces, false for others
SVN-Revision: 25454owl
parent
4e34fc521c
commit
875ff44592
|
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=base-files
|
PKG_NAME:=base-files
|
||||||
PKG_RELEASE:=65
|
PKG_RELEASE:=66
|
||||||
|
|
||||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||||
PKG_BUILD_DEPENDS:=opkg/host
|
PKG_BUILD_DEPENDS:=opkg/host
|
||||||
|
|
|
@ -90,6 +90,33 @@ case "$ACTION" in
|
||||||
ifconfig "$DEVICE" del "$ip6addr"
|
ifconfig "$DEVICE" del "$ip6addr"
|
||||||
ifconfig "$DEVICE" add "$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
|
# Setup routes
|
||||||
config_foreach "add_route" route
|
config_foreach "add_route" route
|
||||||
|
|
|
@ -170,11 +170,6 @@ prepare_interface() {
|
||||||
local macaddr
|
local macaddr
|
||||||
config_get macaddr "$config" macaddr
|
config_get macaddr "$config" macaddr
|
||||||
[ -x /usr/sbin/brctl ] && {
|
[ -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 && {
|
ifconfig "br-$config" 2>/dev/null >/dev/null && {
|
||||||
local newdevs devices
|
local newdevs devices
|
||||||
config_get devices "$config" device
|
config_get devices "$config" device
|
||||||
|
@ -183,6 +178,7 @@ prepare_interface() {
|
||||||
done
|
done
|
||||||
uci_set_state network "$config" device "$newdevs"
|
uci_set_state network "$config" device "$newdevs"
|
||||||
$DEBUG ifconfig "$iface" 0.0.0.0
|
$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 addif "br-$config" "$iface"
|
||||||
# Bridge existed already. No further processing necesary
|
# Bridge existed already. No further processing necesary
|
||||||
} || {
|
} || {
|
||||||
|
@ -192,6 +188,7 @@ prepare_interface() {
|
||||||
$DEBUG brctl setfd "br-$config" 0
|
$DEBUG brctl setfd "br-$config" 0
|
||||||
$DEBUG ifconfig "br-$config" up
|
$DEBUG ifconfig "br-$config" up
|
||||||
$DEBUG ifconfig "$iface" 0.0.0.0
|
$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 addif "br-$config" "$iface"
|
||||||
$DEBUG brctl stp "br-$config" $stp
|
$DEBUG brctl stp "br-$config" $stp
|
||||||
# Creating the bridge here will have triggered a hotplug event, which will
|
# Creating the bridge here will have triggered a hotplug event, which will
|
||||||
|
|
Loading…
Reference in New Issue