summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Patrakov2025-09-27 19:59:41 +0000
committerHauke Mehrtens2025-12-25 15:11:35 +0000
commitc8b98eab98a189ae17c2221067777739a39cd603 (patch)
tree8c93db88e6250dafe75390f7e198c2097073d425
parent116083dd912db099ddb42f076999819e0baf3ff2 (diff)
downloadopenwrt-c8b98eab98a189ae17c2221067777739a39cd603.tar.gz
comgt-ncm: fix setting ip[46]table and MTU
The ncm proto handler ignored ip4table, ip6table, and mtu settings. The fix is based on the existing code in the mbim proto handler. Fixes: #20216. Signed-off-by: Alexander Patrakov <patrakov@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20217 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit b289edd84b3849ce6819e9eb078ab2f3e32f306f)
-rw-r--r--package/network/utils/comgt/files/ncm.sh22
1 files changed, 14 insertions, 8 deletions
diff --git a/package/network/utils/comgt/files/ncm.sh b/package/network/utils/comgt/files/ncm.sh
index a986973838..9cb5b1e662 100644
--- a/package/network/utils/comgt/files/ncm.sh
+++ b/package/network/utils/comgt/files/ncm.sh
@@ -22,6 +22,7 @@ proto_ncm_init_config() {
proto_config_add_boolean sourcefilter
proto_config_add_boolean delegate
proto_config_add_int profile
+ proto_config_add_int mtu
proto_config_add_defaults
}
@@ -30,8 +31,8 @@ proto_ncm_setup() {
local connect context_type devname devpath finalize ifpath initialize manufacturer setmode
- local delegate sourcefilter $PROTO_DEFAULT_OPTIONS
- json_get_vars delegate sourcefilter $PROTO_DEFAULT_OPTIONS
+ local delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS
+ json_get_vars delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS
local apn auth delay device ifname mode password pdptype pincode profile username
json_get_vars apn auth delay device ifname mode password pdptype pincode profile username
@@ -192,9 +193,9 @@ proto_ncm_setup() {
json_add_string ifname "@$interface"
json_add_string proto "dhcp"
proto_add_dynamic_defaults
- [ -n "$zone" ] && {
- json_add_string zone "$zone"
- }
+ [ -n "$zone" ] && json_add_string zone "$zone"
+ [ -n "$ip4table" ] && json_add_string ip4table "$ip4table"
+
json_close_object
ubus call network add_dynamic "$(json_dump)"
}
@@ -208,13 +209,18 @@ proto_ncm_setup() {
[ "$delegate" = "0" ] && json_add_boolean delegate "0"
[ "$sourcefilter" = "0" ] && json_add_boolean sourcefilter "0"
proto_add_dynamic_defaults
- [ -n "$zone" ] && {
- json_add_string zone "$zone"
- }
+ [ -n "$zone" ] && json_add_string zone "$zone"
+ [ -n "$ip6table" ] && json_add_string ip6table "$ip6table"
+
json_close_object
ubus call network add_dynamic "$(json_dump)"
}
+ [ -n "$mtu" -a "$mtu" != 0 ] && {
+ echo "Setting MTU of $ifname to $mtu"
+ /sbin/ip link set dev $ifname mtu $mtu
+ }
+
[ -n "$finalize" ] && {
eval COMMAND="$finalize" gcom -d "$device" -s /etc/gcom/runcommand.gcom || {
echo "Failed to configure modem"