瀏覽代碼

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 <[email protected]>
Daniel Golle 6 年之前
父節點
當前提交
1e8bb50b93
共有 1 個文件被更改,包括 8 次插入6 次删除
  1. 8 6
      package/network/services/wireguard/files/wireguard.sh

+ 8 - 6
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}"
 }