diff options
author | Steven Barth <steven@midlink.org> | 2013-05-24 13:03:59 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2013-05-24 13:03:59 +0000 |
commit | 55dc64c2edcae76638ba2726984d5d3007e08179 (patch) | |
tree | 7de45d6b464055577b9b94c3bd31dd8de9d5cab5 /package/ipv6-support/files | |
parent | 668817dcbe7dec1e3eac8c7742cab81901b1c3e7 (diff) | |
download | upstream-55dc64c2edcae76638ba2726984d5d3007e08179.tar.gz upstream-55dc64c2edcae76638ba2726984d5d3007e08179.tar.bz2 upstream-55dc64c2edcae76638ba2726984d5d3007e08179.zip |
AA: add ipv6-support for transitioning between IPv6-stacks
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@36712 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/ipv6-support/files')
-rwxr-xr-x | package/ipv6-support/files/ipv6-boot | 15 | ||||
-rwxr-xr-x | package/ipv6-support/files/network-enable-ipv6.defaults | 27 |
2 files changed, 42 insertions, 0 deletions
diff --git a/package/ipv6-support/files/ipv6-boot b/package/ipv6-support/files/ipv6-boot new file mode 100755 index 0000000000..a0d3856c03 --- /dev/null +++ b/package/ipv6-support/files/ipv6-boot @@ -0,0 +1,15 @@ +#!/bin/sh /etc/rc.common +START=11 +STOP=97 + +start() { + # early sysctl to avoid networking races + if [ -d /proc/sys/net/ipv6/conf ]; then + for i in /proc/sys/net/ipv6/conf/*/accept_ra; do + echo 0 > $i + done + + echo 1 > /proc/sys/net/ipv6/conf/default/forwarding + echo 1 > /proc/sys/net/ipv6/conf/all/forwarding + fi +} diff --git a/package/ipv6-support/files/network-enable-ipv6.defaults b/package/ipv6-support/files/network-enable-ipv6.defaults new file mode 100755 index 0000000000..7bde74267f --- /dev/null +++ b/package/ipv6-support/files/network-enable-ipv6.defaults @@ -0,0 +1,27 @@ +#!/bin/sh + +# Remove conflicting sysctl-handler +rm -f /etc/hotplug.d/iface/10-sysctl + +# Don't override existing settings +uci get network.globals && exit 0 + +# Sometimes results are empty, therefore try until it works... +local r1 r2 r3 +while [ -z "$r1" -o -z "$r2" -o -z "$r3" ]; do + r1=$(printf "%02x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 256))) + r2=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536))) + r3=$(printf "%01x" $(($(</dev/urandom tr -dc 0-9 | dd bs=9 count=1) % 65536))) +done + + +uci -q batch <<-EOF >/dev/null + set network.globals=globals + set network.globals.ula_prefix=fd$r1:$r2:$r3::/48 + set network.wan6=interface + set network.wan6.proto=dhcpv6 + set network.wan6.ifname=@wan + set network.lan.ip6assign=64 + set network.wan.ipv6=1 + commit network +EOF |