uqmi: add metric option to interface config

It is now possible to add an metric option for the qmi proto in dhcp mode.

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
This commit is contained in:
Florian Eckert 2016-07-22 11:04:57 +02:00 committed by John Crispin
parent 15867deac8
commit 109c55aea1

View file

@ -19,20 +19,23 @@ proto_qmi_init_config() {
proto_config_add_string modes proto_config_add_string modes
proto_config_add_boolean ipv6 proto_config_add_boolean ipv6
proto_config_add_boolean dhcp proto_config_add_boolean dhcp
proto_config_add_int metric
} }
proto_qmi_setup() { proto_qmi_setup() {
local interface="$1" local interface="$1"
local device apn auth username password pincode delay modes ipv6 dhcp local device apn auth username password pincode delay modes ipv6 dhcp metric
local cid_4 pdh_4 cid_6 pdh_6 ipv4 local cid_4 pdh_4 cid_6 pdh_6 ipv4
local ip subnet gateway dns1 dns2 ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6 local ip subnet gateway dns1 dns2 ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6
json_get_vars device apn auth username password pincode delay modes ipv6 dhcp json_get_vars device apn auth username password pincode delay modes ipv6 dhcp metric
ipv4=1 ipv4=1
[ "$ipv6" = 1 ] || ipv6="" [ "$ipv6" = 1 ] || ipv6=""
[ "$metric" = "" ] && metric="0"
[ -n "$ctl_device" ] && device=$ctl_device [ -n "$ctl_device" ] && device=$ctl_device
[ -n "$device" ] || { [ -n "$device" ] || {
@ -200,6 +203,7 @@ proto_qmi_setup() {
json_add_string name "${interface}_4" json_add_string name "${interface}_4"
json_add_string ifname "@$interface" json_add_string ifname "@$interface"
json_add_string proto "dhcp" json_add_string proto "dhcp"
json_add_int metric "$metric"
json_close_object json_close_object
ubus call network add_dynamic "$(json_dump)" ubus call network add_dynamic "$(json_dump)"
} }
@ -209,6 +213,7 @@ proto_qmi_setup() {
json_add_string name "${interface}_6" json_add_string name "${interface}_6"
json_add_string ifname "@$interface" json_add_string ifname "@$interface"
json_add_string proto "dhcpv6" json_add_string proto "dhcpv6"
json_add_int metric "$metric"
# RFC 7278: Extend an IPv6 /64 Prefix to LAN # RFC 7278: Extend an IPv6 /64 Prefix to LAN
json_add_string extendprefix 1 json_add_string extendprefix 1
json_close_object json_close_object