mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-18 02:40:19 +00:00
umbim: restructure IPv4/IPv6 handling
Check whether interface is configured per IP type, not per DHCP. This is preparation to allow fallback to DHCP if static IP configuration is not available, which is the default option for MBIM modems Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
parent
c1e0d07744
commit
03692dee73
@ -171,15 +171,15 @@ _proto_mbim_setup() {
|
||||
|
||||
local zone="$(fw3 -q network "$interface" 2>/dev/null)"
|
||||
|
||||
if [ -z "$dhcp" -o "$dhcp" = 0 ]; then
|
||||
echo "mbim[$$]" "Setting up $ifname"
|
||||
eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g')
|
||||
tid=$((tid + 1))
|
||||
echo "mbim[$$]" "Setting up $ifname"
|
||||
eval $(umbim $DBG -n -t $tid -d $device config | sed 's/: /=/g')
|
||||
tid=$((tid + 1))
|
||||
|
||||
proto_init_update "$ifname" 1
|
||||
proto_send_update "$interface"
|
||||
proto_init_update "$ifname" 1
|
||||
proto_send_update "$interface"
|
||||
|
||||
[ "$iptype" != "ipv6" ] && {
|
||||
[ "$iptype" != "ipv6" ] && {
|
||||
if [ -z "$dhcp" -o "$dhcp" = 0 ]; then
|
||||
json_init
|
||||
json_add_string name "${interface}_4"
|
||||
json_add_string ifname "@$interface"
|
||||
@ -195,9 +195,21 @@ _proto_mbim_setup() {
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
}
|
||||
else
|
||||
echo "mbim[$$]" "Starting DHCP on $ifname"
|
||||
json_init
|
||||
json_add_string name "${interface}_4"
|
||||
json_add_string ifname "@$interface"
|
||||
json_add_string proto "dhcp"
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
}
|
||||
|
||||
[ "$iptype" != "ipv4" ] && {
|
||||
[ "$iptype" != "ipv4" ] && {
|
||||
if [ -z "$dhcp" -o "$dhcp" = 0 ]; then
|
||||
json_init
|
||||
json_add_string name "${interface}_6"
|
||||
json_add_string ifname "@$interface"
|
||||
@ -213,24 +225,8 @@ _proto_mbim_setup() {
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
}
|
||||
else
|
||||
echo "mbim[$$]" "Starting DHCP on $ifname"
|
||||
proto_init_update "$ifname" 1
|
||||
proto_send_update "$interface"
|
||||
|
||||
[ "$pdptype" = "ipv4" -o "$pdptype" = "ipv4v6" ] && {
|
||||
json_init
|
||||
json_add_string name "${interface}_4"
|
||||
json_add_string ifname "@$interface"
|
||||
json_add_string proto "dhcp"
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
}
|
||||
|
||||
[ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && {
|
||||
else
|
||||
echo "mbim[$$]" "Starting DHCPv6 on $ifname"
|
||||
json_init
|
||||
json_add_string name "${interface}_6"
|
||||
json_add_string ifname "@$interface"
|
||||
@ -240,8 +236,8 @@ _proto_mbim_setup() {
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
uci_set_state network $interface tid "$tid"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user