# Copyright (c) 2010 OpenWrt.org
find_6in4_wanif() {
- local if=$(ip -4 r l e 0/0); if="${if#default* dev }"; if="${if%% *}"
+ local if=$(ip -4 r l e 0.0.0.0/0); if="${if#default* dev }"; if="${if%% *}"
[ -n "$if" ] && grep -qs "^ *$if:" /proc/net/dev && echo "$if"
}
local ttl
config_get ttl "$cfg" ttl
+ local metric
+ config_get metric "$cfg" metric
+
local defaultroute
config_get_bool defaultroute "$cfg" defaultroute 1
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
}
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