aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh')
-rwxr-xr-xpackage/network/utils/uqmi/files/lib/netifd/proto/qmi.sh18
1 files changed, 10 insertions, 8 deletions
diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index 53bf7a316a..12356989a2 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -19,16 +19,16 @@ proto_qmi_init_config() {
proto_config_add_string modes
proto_config_add_boolean ipv6
proto_config_add_boolean dhcp
- proto_config_add_int metric
+ proto_config_add_defaults
}
proto_qmi_setup() {
local interface="$1"
- local device apn auth username password pincode delay modes ipv6 dhcp metric
+ local device apn auth username password pincode delay modes ipv6 dhcp $PROTO_DEFAULT_OPTIONS
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
- json_get_vars device apn auth username password pincode delay modes ipv6 dhcp metric
+ json_get_vars device apn auth username password pincode delay modes ipv6 dhcp $PROTO_DEFAULT_OPTIONS
ipv4=1
@@ -172,9 +172,11 @@ proto_qmi_setup() {
proto_add_ipv6_address "$ip_6" "128"
proto_add_ipv6_prefix "${ip_6}/${ip_prefix_length}"
proto_add_ipv6_route "$gateway_6" "128"
- proto_add_ipv6_route "::0" 0 "$gateway_6" "" "" "${ip_6}/${ip_prefix_length}"
- proto_add_dns_server "$dns1_6"
- proto_add_dns_server "$dns2_6"
+ [ "$defaultroute" = 0 ] || proto_add_ipv6_route "::0" 0 "$gateway_6" "" "" "${ip_6}/${ip_prefix_length}"
+ [ "$peerdns" = 0 ] || {
+ proto_add_dns_server "$dns1_6"
+ proto_add_dns_server "$dns2_6"
+ }
proto_add_data
json_add_string "cid_6" "$cid_6"
json_add_string "pdh_6" "$pdh_6"
@@ -183,7 +185,7 @@ proto_qmi_setup() {
json_add_string name "${interface}_6"
json_add_string ifname "@$interface"
json_add_string proto "dhcpv6"
- json_add_int metric "$metric"
+ proto_add_dynamic_defaults
# RFC 7278: Extend an IPv6 /64 Prefix to LAN
json_add_string extendprefix 1
json_close_object
@@ -199,7 +201,7 @@ proto_qmi_setup() {
json_add_string name "${interface}_4"
json_add_string ifname "@$interface"
json_add_string proto "dhcp"
- json_add_int metric "$metric"
+ proto_add_dynamic_defaults
json_close_object
ubus call network add_dynamic "$(json_dump)"
}