Add route6 option to setup IPv6 routes (#2528)
authorFlorian Fainelli <florian@openwrt.org>
Tue, 16 Oct 2007 15:05:19 +0000 (15:05 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 16 Oct 2007 15:05:19 +0000 (15:05 +0000)
SVN-Revision: 9337

package/base-files/files/etc/hotplug.d/iface/10-routes

index de65f28ce866c23330d2ead51ce955b325342c38..7e957f7f13f4527c1e6e4aba3c8d50f81d98445a 100644 (file)
@@ -31,11 +31,40 @@ add_route() {
        /sbin/route add $dest gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
 }
 
+add_route6() {
+       local config="$1"
+
+       # is this route intended for the
+       # $INTERFACE of this hotplug event
+       config_get interface "$config" interface
+       [ "$interface" != "$INTERFACE" ] && return 0
+       
+       # get the real interface name from network config
+       config_get dev "$interface" ifname
+
+       config_get target "$config" target
+       config_get gateway "$config" gateway
+       config_get metric "$config" metric
+
+       # make sure there is a gateway and a target
+       [ -n "$target" ] || {
+               echo "Missing target in route section $config"
+               return 1
+       }
+       [ -n "$gateway" ] || {
+               echo "Missing gateway in route section $config"
+               return 1
+       }
+
+       /sbin/route -A inet6 add $target gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+}
+
 case "$ACTION" in
        ifup)
                include /lib/network
                scan_interfaces
                . /var/state/network
                config_foreach "add_route" route
+               config_foreach "add_route6" route6
        ;;
 esac