umbim: pass ipXtable to child interfaces
Inspired by commti e51aa699f7, allow setting specific routing tables
via ip4table and ip6table options, by passing them on child interfaces
created by MBIM protocol handler.
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
committed by
Hauke Mehrtens
parent
e2655e0a6b
commit
9ddbcd73d8
@@ -31,8 +31,10 @@ _proto_mbim_setup() {
|
||||
local tid=2
|
||||
local ret
|
||||
|
||||
local device apn pincode delay allow_roaming allow_partner dhcp dhcpv6 pdptype $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device apn pincode delay auth username password allow_roaming allow_partner dhcp dhcpv6 pdptype $PROTO_DEFAULT_OPTIONS
|
||||
local device apn pincode delay auth username password allow_roaming allow_partner
|
||||
local dhcp dhcpv6 pdptype ip4table ip6table $PROTO_DEFAULT_OPTIONS
|
||||
json_get_vars device apn pincode delay auth username password allow_roaming allow_partner
|
||||
json_get_vars dhcp dhcpv6 pdptype ip4table ip6table $PROTO_DEFAULT_OPTIONS
|
||||
|
||||
[ ! -e /proc/sys/net/ipv6 ] && ipv6=0 || json_get_var ipv6 ipv6
|
||||
|
||||
@@ -201,6 +203,7 @@ _proto_mbim_setup() {
|
||||
json_close_array
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
[ -n "$ip4table" ] && json_add_string ip4table "$ip4table"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
elif [ "$dhcp" != 0 ]; then
|
||||
@@ -211,6 +214,7 @@ _proto_mbim_setup() {
|
||||
json_add_string proto "dhcp"
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
[ -n "$ip4table" ] && json_add_string ip4table "$ip4table"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
@@ -231,6 +235,7 @@ _proto_mbim_setup() {
|
||||
json_close_array
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
[ -n "$ip6table" ] && json_add_string ip6table "$ip6table"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
elif [ "$dhcpv6" != 0 ]; then
|
||||
@@ -242,6 +247,7 @@ _proto_mbim_setup() {
|
||||
json_add_string extendprefix 1
|
||||
proto_add_dynamic_defaults
|
||||
[ -n "$zone" ] && json_add_string zone "$zone"
|
||||
[ -n "$ip6table" ] && json_add_string ip6table "$ip6table"
|
||||
json_close_object
|
||||
ubus call network add_dynamic "$(json_dump)"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user