add support for static routes - based on the patch from #1365
SVN-Revision: 6457v19.07.3_mercusys_ac12_duma
parent
c457155452
commit
65b4654000
@ -0,0 +1,40 @@
|
||||
add_route() {
|
||||
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 netmask "$config" netmask
|
||||
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
|
||||
}
|
||||
|
||||
netmask="${netmask:-255.255.255.255}"
|
||||
dest="${netmask:+-net "$target" netmask "$netmask"}"
|
||||
dest="${dest:--host "$target"}"
|
||||
|
||||
/sbin/route add $dest gw "$gateway" ${dev:+dev "$dev"} ${metric:+ metric "$metric"}
|
||||
}
|
||||
|
||||
case "$ACTION" in
|
||||
ifup)
|
||||
include /lib/network
|
||||
scan_interfaces
|
||||
config_foreach "add_route" route
|
||||
;;
|
||||
esac
|
Loading…
Reference in New Issue