6in4: allow specifying tunnel device name
authorAleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com>
Tue, 16 Jul 2024 13:39:17 +0000 (16:39 +0300)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Sep 2024 14:28:51 +0000 (16:28 +0200)
Accept 'device' option, allowing to specify custom l3 device name,
instead of default autogenerated one (prefix "6in4-" + interface name)

Signed-off-by: Aleksandr V. Piskunov <aleksandr.v.piskunov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15961
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/network/ipv6/6in4/files/6in4.sh

index 5b5c7b36af9cd18732a6958ec28d21dc37885137..99b2b763124b4111638dcc85fca3f0f1efed2e3d 100755 (executable)
@@ -45,10 +45,12 @@ proto_6in4_setup() {
        local iface="$2"
        local link="6in4-$cfg"
 
-       local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey
-       json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey
+       local mtu ttl tos ipaddr peeraddr ip6addr ip6prefix ip6prefixes tunlink tunnelid username password updatekey device
+       json_get_vars mtu ttl tos ipaddr peeraddr ip6addr tunlink tunnelid username password updatekey device
        json_for_each_item proto_6in4_add_prefix ip6prefix ip6prefixes
 
+       [ -n "$device" ] && link="$device"
+
        [ -z "$peeraddr" ] && {
                proto_notify_error "$cfg" "MISSING_ADDRESS"
                proto_block_restart "$cfg"
@@ -156,6 +158,7 @@ proto_6in4_init_config() {
        proto_config_add_int "mtu"
        proto_config_add_int "ttl"
        proto_config_add_string "tos"
+       proto_config_add_string "device"
 }
 
 [ -n "$INCLUDE_ONLY" ] || {