diff options
| author | acinonyx <acinonyx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-12 21:07:00 +0000 | 
|---|---|---|
| committer | acinonyx <acinonyx@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-12 21:07:00 +0000 | 
| commit | e926403b86a2bb6250010d9518e875c7859e4e46 (patch) | |
| tree | 983a210f0079cb197dd8b07afc80c1b6a41f3aed /package/base-files/files/lib/network/config.sh | |
| parent | 3c978d1604e28025c03bb1c8ab26648344f9beea (diff) | |
[package] base-files: Add support for assigning multiple IPv6 addresses on an interface
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28222 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/lib/network/config.sh')
| -rwxr-xr-x | package/base-files/files/lib/network/config.sh | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/package/base-files/files/lib/network/config.sh b/package/base-files/files/lib/network/config.sh index cf5b197b5..5975f17df 100755 --- a/package/base-files/files/lib/network/config.sh +++ b/package/base-files/files/lib/network/config.sh @@ -242,10 +242,10 @@ setup_interface_static() {  	local iface="$1"  	local config="$2" -	local ipaddr netmask ip6addr +	local ipaddr netmask ip6addrs ipaddr  	config_get ipaddr "$config" ipaddr  	config_get netmask "$config" netmask -	config_get ip6addr "$config" ip6addr +	config_get ip6addrs "$config" ip6addr  	[ -z "$ipaddr" -o -z "$netmask" ] && [ -z "$ip6addr" ] && return 1  	local gateway ip6gw dns bcast metric @@ -255,13 +255,14 @@ setup_interface_static() {  	config_get bcast "$config" broadcast  	config_get metric "$config" metric -	case "$ip6addr" in -		*/*) ;; -		*:*) ip6addr="$ip6addr/64" ;; -	esac -  	[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask" broadcast "${bcast:-+}" -	[ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr" +	for ip6addr in $ip6addrs; do           +		case "$ip6addr" in +			*/*) ;; +			*:*) ip6addr="$ip6addr/64" ;; +		esac +		$DEBUG ifconfig "$iface" add "$ip6addr" +	done   	[ -z "$gateway" ] || $DEBUG route add default gw "$gateway" ${metric:+metric $metric} dev "$iface"  	[ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw" ${metric:+metric $metric} dev "$iface"  	[ -z "$dns" ] || add_dns "$config" $dns  | 
