diff options
Diffstat (limited to 'package')
| -rw-r--r-- | package/base-files/Makefile | 2 | ||||
| -rwxr-xr-x | package/base-files/files/lib/network/config.sh | 20 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/package/base-files/Makefile b/package/base-files/Makefile index d537ed3c1..9cac1f058 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk  include $(INCLUDE_DIR)/kernel.mk  PKG_NAME:=base-files -PKG_RELEASE:=75 +PKG_RELEASE:=76  PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/  PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index 03d7ca1f7..cf5b197b5 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -9,6 +9,23 @@ do_sysctl() {  		sysctl -n -e "$1"  } +map_sysctls() { +	local cfg="$1" +	local ifn="$2" + +	local fam +	for fam in ipv4 ipv6; do +		if [ -d /proc/sys/net/$fam ]; then +			local key +			for key in /proc/sys/net/$fam/*/$ifn/*; do +				local val +				config_get val "$cfg" "${fam}_${key##*/}" +				[ -n "$val" ] && echo -n "$val" > "$key" +			done +		fi +	done +} +  find_config() {  	local iftype device iface ifaces ifn  	for ifn in $interfaces; do @@ -156,6 +173,9 @@ prepare_interface() {  			ifconfig "$iface" down  			ifconfig "$iface" hw ether "$vifmac" up  		} + +		# Apply sysctl settings +		map_sysctls "$config" "$iface"  	}  	# Setup VLAN interfaces | 
