aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLech Perczak <lech.perczak@gmail.com>2021-11-06 13:21:32 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2023-04-29 21:33:05 +0200
commitf01fff63fbe61186128e000a3bccb7ed159fcb0c (patch)
tree7d84291fa2fe174be309bc8db999cdba7ad2a0a6
parent5f873df8d4b79521e5f8f7ea55e8b299bfef0d24 (diff)
downloadupstream-f01fff63fbe61186128e000a3bccb7ed159fcb0c.tar.gz
upstream-f01fff63fbe61186128e000a3bccb7ed159fcb0c.tar.bz2
upstream-f01fff63fbe61186128e000a3bccb7ed159fcb0c.zip
umbim: add "_proto_mbim_get_field" helper
Add a new helper to extract IP configuration from umbim output. This is required to extract fields which can possibly have multiple values, namely IP addresses and DNS servers, and get rid of primitive parser using 'eval' builtin without support for this. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
-rwxr-xr-xpackage/network/utils/umbim/files/lib/netifd/proto/mbim.sh12
1 files changed, 12 insertions, 0 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 9ab7724232..8f1ae9ac25 100755
--- a/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
+++ b/package/network/utils/umbim/files/lib/netifd/proto/mbim.sh
@@ -26,6 +26,18 @@ proto_mbim_init_config() {
proto_config_add_defaults
}
+_proto_mbim_get_field() {
+ local field="$1"
+ shift
+ local mbimconfig="$@"
+ echo "$mbimconfig" | while read -r line; do
+ variable=${line%%:*}
+ [ "$variable" = "$field" ] || continue;
+ value=${line##* }
+ echo -n "$value "
+ done
+}
+
_proto_mbim_setup() {
local interface="$1"
local tid=2