uqmi: pass-through ipXtable to child interfaces
Allow setting specific routing tables via the ip4table and ip6table
options also when ${ifname}_4 and ${ifname}_6 child interfaces are
being created.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
			
			
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| include $(TOPDIR)/rules.mk | include $(TOPDIR)/rules.mk | ||||||
|  |  | ||||||
| PKG_NAME:=uqmi | PKG_NAME:=uqmi | ||||||
| PKG_RELEASE:=3 | PKG_RELEASE:=4 | ||||||
|  |  | ||||||
| PKG_SOURCE_PROTO:=git | PKG_SOURCE_PROTO:=git | ||||||
| PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git | PKG_SOURCE_URL=$(PROJECT_GIT)/project/uqmi.git | ||||||
|   | |||||||
| @@ -29,9 +29,10 @@ proto_qmi_setup() { | |||||||
| 	local interface="$1" | 	local interface="$1" | ||||||
| 	local dataformat connstat | 	local dataformat connstat | ||||||
| 	local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn $PROTO_DEFAULT_OPTIONS | 	local device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn $PROTO_DEFAULT_OPTIONS | ||||||
|  | 	local ip4table ip6table | ||||||
| 	local cid_4 pdh_4 cid_6 pdh_6 | 	local cid_4 pdh_4 cid_6 pdh_6 | ||||||
| 	local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6 | 	local ip_6 ip_prefix_length gateway_6 dns1_6 dns2_6 | ||||||
| 	json_get_vars device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn $PROTO_DEFAULT_OPTIONS | 	json_get_vars device apn auth username password pincode delay modes pdptype profile dhcpv6 autoconnect plmn ip4table ip6table $PROTO_DEFAULT_OPTIONS | ||||||
|  |  | ||||||
| 	[ "$metric" = "" ] && metric="0" | 	[ "$metric" = "" ] && metric="0" | ||||||
|  |  | ||||||
| @@ -252,6 +253,7 @@ proto_qmi_setup() { | |||||||
| 			json_add_string name "${interface}_6" | 			json_add_string name "${interface}_6" | ||||||
| 			json_add_string ifname "@$interface" | 			json_add_string ifname "@$interface" | ||||||
| 			json_add_string proto "dhcpv6" | 			json_add_string proto "dhcpv6" | ||||||
|  | 			[ -n "$ip6table" ] && json_add_string ip6table "$ip6table" | ||||||
| 			proto_add_dynamic_defaults | 			proto_add_dynamic_defaults | ||||||
| 			# RFC 7278: Extend an IPv6 /64 Prefix to LAN | 			# RFC 7278: Extend an IPv6 /64 Prefix to LAN | ||||||
| 			json_add_string extendprefix 1 | 			json_add_string extendprefix 1 | ||||||
| @@ -265,6 +267,7 @@ proto_qmi_setup() { | |||||||
| 		json_add_string name "${interface}_4" | 		json_add_string name "${interface}_4" | ||||||
| 		json_add_string ifname "@$interface" | 		json_add_string ifname "@$interface" | ||||||
| 		json_add_string proto "dhcp" | 		json_add_string proto "dhcp" | ||||||
|  | 		[ -n "$ip4table" ] && json_add_string ip4table "$ip4table" | ||||||
| 		proto_add_dynamic_defaults | 		proto_add_dynamic_defaults | ||||||
| 		json_close_object | 		json_close_object | ||||||
| 		ubus call network add_dynamic "$(json_dump)" | 		ubus call network add_dynamic "$(json_dump)" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Daniel Golle
					Daniel Golle