mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-24 07:46:48 +00:00
base-file: add metric option for static and dhcp protos, this simplifies the management of multiple default routes
SVN-Revision: 24020
This commit is contained in:
parent
2201a230a9
commit
d0ab35c115
@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=base-files
|
||||
PKG_RELEASE:=60
|
||||
PKG_RELEASE:=61
|
||||
|
||||
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
|
||||
PKG_BUILD_DEPENDS:=opkg/host
|
||||
|
@ -228,16 +228,17 @@ setup_interface_static() {
|
||||
config_get ip6addr "$config" ip6addr
|
||||
[ -z "$ipaddr" -o -z "$netmask" ] && [ -z "$ip6addr" ] && return 1
|
||||
|
||||
local gateway ip6gw dns bcast
|
||||
local gateway ip6gw dns bcast metric
|
||||
config_get gateway "$config" gateway
|
||||
config_get ip6gw "$config" ip6gw
|
||||
config_get dns "$config" dns
|
||||
config_get bcast "$config" broadcast
|
||||
config_get metric "$config" metric
|
||||
|
||||
[ -z "$ipaddr" ] || $DEBUG ifconfig "$iface" "$ipaddr" netmask "$netmask" broadcast "${bcast:-+}"
|
||||
[ -z "$ip6addr" ] || $DEBUG ifconfig "$iface" add "$ip6addr"
|
||||
[ -z "$gateway" ] || $DEBUG route add default gw "$gateway" dev "$iface"
|
||||
[ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw" dev "$iface"
|
||||
[ -z "$gateway" ] || $DEBUG route add default gw "$gateway" ${metric:+metric $metric} dev "$iface"
|
||||
[ -z "$ip6gw" ] || $DEBUG route -A inet6 add default gw "$ip6gw" ${metric:+metric $metric} dev "$iface"
|
||||
[ -z "$dns" ] || add_dns "$config" $dns
|
||||
|
||||
config_get type "$config" TYPE
|
||||
|
@ -19,6 +19,7 @@ setup_interface () {
|
||||
local old_dns
|
||||
local user_dns
|
||||
local user_router
|
||||
local user_metric
|
||||
|
||||
[ -n "$ifc" ] && {
|
||||
old_ip="$(uci_get_state network "$ifc" ipaddr)"
|
||||
@ -43,6 +44,7 @@ setup_interface () {
|
||||
change_state network "$ifc" lease_gateway "$router"
|
||||
old_router="$(uci_get_state network "$ifc" gateway)"
|
||||
user_router="$(uci_get network "$ifc" gateway)"
|
||||
user_metric="$(uci_get network "$ifc" metric)"
|
||||
[ -n "$user_router" ] && router="$user_router"
|
||||
}
|
||||
|
||||
@ -51,7 +53,7 @@ setup_interface () {
|
||||
|
||||
local valid_gw=""
|
||||
for i in $router ; do
|
||||
route add default gw $i dev $interface
|
||||
route add default gw $i ${user_metric:+metric $user_metric} dev $interface
|
||||
valid_gw="${valid_gw:+$valid_gw|}$i"
|
||||
done
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user