[openwrt/openwrt] umbim: use static config by default, fallback to DHCP

LEDE Commits lede-commits at lists.infradead.org
Sat Apr 29 12:39:12 PDT 2023


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/ca8df8a992211c7f61434372b07afcbe0d94ff9f

commit ca8df8a992211c7f61434372b07afcbe0d94ff9f
Author: Lech Perczak <lech.perczak at gmail.com>
AuthorDate: Mon Jul 19 21:28:07 2021 +0200

    umbim: use static config by default, fallback to DHCP
    
    Finally, inspired by ModemManager's logic, make static configuration
    obtained through MBIM control channel, preferred.
    If IP configuration is not available this way, fallback to DHCP(v6) if
    enabled, else do not create a sub-interface for unavailable IP type.
    
    Signed-off-by: Lech Perczak <lech.perczak at gmail.com>
---
 package/network/utils/umbim/files/lib/netifd/proto/mbim.sh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
index d8df783a92..294dc64400 100755
--- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
+++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
@@ -179,8 +179,11 @@ _proto_mbim_setup() {
 	proto_init_update "$ifname" 1
 	proto_send_update "$interface"
 
+	[ -z "$dhcp" ] && dhcp=1
+	[ -z "$dhcpv6" ] && dhcpv6=1
+
 	[ "$iptype" != "ipv6" ] && {
-		if [ -z "$dhcp" -o "$dhcp" = 0 ]; then
+		if [ -n "$ipv4address" ]; then
 			json_init
 			json_add_string name "${interface}_4"
 			json_add_string ifname "@$interface"
@@ -196,7 +199,7 @@ _proto_mbim_setup() {
 			[ -n "$zone" ] && json_add_string zone "$zone"
 			json_close_object
 			ubus call network add_dynamic "$(json_dump)"
-		else
+		elif [ "$dhcp" != 0 ]; then
 			echo "mbim[$$]" "Starting DHCP on $ifname"
 			json_init
 			json_add_string name "${interface}_4"
@@ -210,7 +213,7 @@ _proto_mbim_setup() {
 	}
 
 	[ "$iptype" != "ipv4" ] && {
-		if [ -z "$dhcpv6" -o "$dhcpv6" = 0 ]; then
+		if [ -n "$ipv6address" ]; then
 			json_init
 			json_add_string name "${interface}_6"
 			json_add_string ifname "@$interface"
@@ -226,7 +229,7 @@ _proto_mbim_setup() {
 			[ -n "$zone" ] && json_add_string zone "$zone"
 			json_close_object
 			ubus call network add_dynamic "$(json_dump)"
-		else
+		elif [ "$dhcpv6" != 0 ]; then
 			echo "mbim[$$]" "Starting DHCPv6 on $ifname"
 			json_init
 			json_add_string name "${interface}_6"




More information about the lede-commits mailing list