From: Daniel Golle Date: Tue, 19 Mar 2019 15:47:17 +0000 (+0100) Subject: wireguard: do not add host-dependencies if fwmark is set X-Git-Tag: v19.07.0-rc1~910 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1e8bb50b9324cb368fe5b2bd916c98b8d8517be5;p=openwrt%2Fopenwrt.git 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 --- diff --git a/package/network/services/wireguard/files/wireguard.sh b/package/network/services/wireguard/files/wireguard.sh index 96fa7215ff..58e47f9450 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}" }