return 1
}
[ -n "$gateway" ] || {
- echo "Missing gateway in route section $config"
- return 1
+ config_get gateway "$interface" gateway
}
- netmask="${netmask:-255.255.255.255}"
+ # handle "0.0.0.0" as "no gateway given" to allow
+ # defining gateway-less routes while still keeping
+ # the possibility to have static routes with a
+ # proper gateway on interfaces with dynamic ips
+ [ "$gateway" = "0.0.0.0" ] && gateway=""
+
dest="${netmask:+-net "$target" netmask "$netmask"}"
dest="${dest:--host "$target"}"
- /sbin/route add $dest gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+ /sbin/route add $dest ${gateway:+gw "$gateway"} \
+ ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
}
add_route6() {
return 1
}
[ -n "$gateway" ] || {
- echo "Missing gateway in route section $config"
- return 1
+ config_get gateway "$interface" gateway
}
- /sbin/route -A inet6 add $target gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
+ /sbin/route -A inet6 add $target ${gateway:+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
;;