diff options
| author | Daniel Golle <daniel@makrotopia.org> | 2019-03-19 16:47:17 +0100 |
|---|---|---|
| committer | Daniel Golle <daniel@makrotopia.org> | 2019-03-27 22:53:14 +0100 |
| commit | 1e8bb50b9324cb368fe5b2bd916c98b8d8517be5 (patch) | |
| tree | 62f4b55f68a0c7da1826578c18533f466c1b9cd0 | |
| parent | b2152c8e6beaddded3aab0a3383f24624d6895f1 (diff) | |
| download | upstream-1e8bb50b9324cb368fe5b2bd916c98b8d8517be5.tar.gz upstream-1e8bb50b9324cb368fe5b2bd916c98b8d8517be5.tar.bz2 upstream-1e8bb50b9324cb368fe5b2bd916c98b8d8517be5.zip | |
wireguard: do not add host-dependencies if fwmark is set
The 'fwmark' option is used to define routing traffic to
wireguard endpoints to go through specific routing tables.
In that case it doesn't make sense to setup routes for
host-dependencies in the 'main' table, so skip setting host
dependencies if 'fwmark' is set.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
| -rw-r--r-- | package/network/services/wireguard/files/wireguard.sh | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/package/network/services/wireguard/files/wireguard.sh b/package/network/services/wireguard/files/wireguard.sh index 96fa7215ffc..58e47f9450c 100644 --- a/package/network/services/wireguard/files/wireguard.sh +++ b/package/network/services/wireguard/files/wireguard.sh @@ -176,12 +176,14 @@ proto_wireguard_setup() { done # endpoint dependency - wg show "${config}" endpoints | \ - sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \ - while IFS=$'\t ' read -r key address port; do - [ -n "${port}" ] || continue - proto_add_host_dependency "${config}" "${address}" - done + if [ ! "${fwmark}" ]; then + wg show "${config}" endpoints | \ + sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \ + while IFS=$'\t ' read -r key address port; do + [ -n "${port}" ] || continue + proto_add_host_dependency "${config}" "${address}" + done + fi proto_send_update "${config}" } |
