X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=package%2F6in4%2Ffiles%2F6in4.sh;h=5aafaa0ba19e41a53b831389a6a7332114dfec80;hb=c8564630f3b5e5023dbe595e8056f7a3c100b495;hp=2af1f74b297c744f2886817661f8f9156e13f387;hpb=db11c7a5b1ebefefe22193a1ed664077738bad44;p=openwrt-10.03%2F.git diff --git a/package/6in4/files/6in4.sh b/package/6in4/files/6in4.sh index 2af1f74b2..5aafaa0ba 100755 --- a/package/6in4/files/6in4.sh +++ b/package/6in4/files/6in4.sh @@ -42,6 +42,9 @@ setup_interface_6in4() { local ttl config_get ttl "$cfg" ttl + local metric + config_get metric "$cfg" metric + local defaultroute config_get_bool defaultroute "$cfg" defaultroute 1 @@ -70,7 +73,11 @@ setup_interface_6in4() { uci_set_state network "$cfg" ip6addr $local6 [ "$defaultroute" = 1 ] && { - ip -6 route add ::/0 dev $link + local inet="::/0" + local kern="$(uname -r)" + [ "${kern#2.4}" != "$kern" ] && inet="2000::/3" + + ip -6 route add $inet ${metric:+metric $metric} dev $link uci_set_state network "$cfg" defaultroute 1 } @@ -91,7 +98,11 @@ stop_interface_6in4() { env -i ACTION="ifdown" INTERFACE="$cfg" DEVICE="$link" PROTO=6in4 /sbin/hotplug-call "iface" & [ "$defaultroute" = "1" ] && { - ip -6 route del ::/0 dev $link + local inet="::/0" + local kern="$(uname -r)" + [ "${kern#2.4}" != "$kern" ] && inet="2000::/3" + + ip -6 route del $inet dev $link } ip addr del $local6 dev $link