Forráskód Böngészése

Add route6 option to setup IPv6 routes (#2528)

SVN-Revision: 9337
Florian Fainelli 18 éve
szülő
commit
e36f4396f6
1 módosított fájl, 29 hozzáadás és 0 törlés
  1. 29 0
      package/base-files/files/etc/hotplug.d/iface/10-routes

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

@@ -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