From 6cc65b05f311ee108f244991f8020365c64520c8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Sun, 13 May 2018 20:15:50 +0200 Subject: [PATCH] wireguard: Add support for ip6prefix config option MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This makes it easier to distribute prefixes over a wireguard tunnel interface, by simply setting the ip6prefix option in uci (just like with other protocols). Obviously, routing etc needs to be setup properly for things to work; this just adds the config option so the prefix can be assigned to other interfaces. Signed-off-by: Toke Høiland-Jørgensen --- package/network/services/wireguard/files/wireguard.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package/network/services/wireguard/files/wireguard.sh b/package/network/services/wireguard/files/wireguard.sh index 7b18a2e0ec..96fa7215ff 100644 --- a/package/network/services/wireguard/files/wireguard.sh +++ b/package/network/services/wireguard/files/wireguard.sh @@ -113,6 +113,7 @@ proto_wireguard_setup() { config_get addresses "${config}" "addresses" config_get mtu "${config}" "mtu" config_get fwmark "${config}" "fwmark" + config_get ip6prefix "${config}" "ip6prefix" # create interface ip link del dev "${config}" 2>/dev/null @@ -169,6 +170,11 @@ proto_wireguard_setup() { esac done + # support ip6 prefixes + for prefix in ${ip6prefix}; do + proto_add_ipv6_prefix "$prefix" + done + # endpoint dependency wg show "${config}" endpoints | \ sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \ -- 2.25.1