From 296c15c1f222b0c29de27f6f393c550275c79878 Mon Sep 17 00:00:00 2001 From: Florian Maurer Date: Mon, 15 Sep 2025 21:22:49 +0200 Subject: [PATCH] tunneldigger: add broker_selection option to expose load balancing capabilities Using the broker_selection param makes it possible to decide by use (default), always use the first available broker to connect or select a random broker See also: https://github.com/wlanslovenija/tunneldigger/blob/51a5e46ad143c92d2867835a563146ec4fbc6211/client/l2tp_client.c#L1331-L1333 Signed-off-by: Florian Maurer --- net/tunneldigger/Makefile | 2 +- net/tunneldigger/files/config.default | 1 + net/tunneldigger/files/tunneldigger.init | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/net/tunneldigger/Makefile b/net/tunneldigger/Makefile index b391b4f3a9..10c774cba6 100644 --- a/net/tunneldigger/Makefile +++ b/net/tunneldigger/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tunneldigger -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_URL:=https://github.com/wlanslovenija/tunneldigger.git PKG_SOURCE_PROTO:=git diff --git a/net/tunneldigger/files/config.default b/net/tunneldigger/files/config.default index 571621a42e..0a01bc2a0c 100644 --- a/net/tunneldigger/files/config.default +++ b/net/tunneldigger/files/config.default @@ -5,4 +5,5 @@ config broker option uuid 'abcd' option interface 'l2tp0' option limit_bw_down '1024' + option broker_selection 'usage' option enabled '0' diff --git a/net/tunneldigger/files/tunneldigger.init b/net/tunneldigger/files/tunneldigger.init index bacaace816..810d96be7a 100644 --- a/net/tunneldigger/files/tunneldigger.init +++ b/net/tunneldigger/files/tunneldigger.init @@ -22,6 +22,7 @@ parse_broker() { config_get hook_script "$section" hook_script config_get bind_interface "$section" bind_interface config_get group "$section" group + config_get broker_selection "$section" broker_selection [ $enabled -eq 0 ] && return @@ -38,6 +39,20 @@ parse_broker() { network_get_device _bind_interface "${bind_interface}" || _bind_interface="${bind_interface}" append broker_opts "-I ${_bind_interface}" } + [ ! -z "${broker_selection}" ] && { + # Set broker selection. + case "${broker_selection}" in + usage) + append broker_opts "-a" + ;; + first) + append broker_opts "-g" + ;; + random) + append broker_opts "-r" + ;; + esac + } if [ -z "$uuid" ]; then missing uuid -- 2.30.2