Browse Source

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 years ago
parent
commit
1e8bb50b93
1 changed files with 8 additions and 6 deletions
  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
   done
 
 
   # endpoint dependency
   # 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}"
   proto_send_update "${config}"
 }
 }