commit: 9ef4fb84a7c1848c067f89f5510f448fb04c5c7a
Author: Andrey Volkov <volkov.am <AT> ekb-info <DOT> ru>
AuthorDate: Tue Sep 28 13:43:52 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Fri May 24 05:51:59 2024 +0000
URL: https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=9ef4fb84
Add type_${IFVAR}=wireguard for arbitrary wireguard interface names
Signed-off-by: Andrey Volkov <volkov <AT> ekb-info.ru>
net/wireguard.sh | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/net/wireguard.sh b/net/wireguard.sh
index 301836d..269c8f0 100644
--- a/net/wireguard.sh
+++ b/net/wireguard.sh
@@ -9,9 +9,15 @@ wireguard_depend()
before interface
}
+_is_wireguard() {
+ is_interface_type wireguard
+}
+
wireguard_pre_start()
{
- [ "${IFACE#wg}" != "$IFACE" ] || return 0
+ local wireguard=
+ eval wireguard=\$type_${IFVAR}
+ [ "${wireguard}" = "wireguard" -o "${IFACE#wg}" != "$IFACE" ] || return 0
ip link delete dev "$IFACE" type wireguard 2>/dev/null
ebegin "Creating WireGuard interface $IFACE"
@@ -35,6 +41,7 @@ wireguard_pre_start()
e=$?
if [ $e -eq 0 ]; then
eend $e
+ set_interface_type wireguard
return $e
fi
fi
@@ -45,7 +52,7 @@ wireguard_pre_start()
wireguard_post_stop()
{
- [ "${IFACE#wg}" != "$IFACE" ] || return 0
+ _is_wireguard || [ "${IFACE#wg}" != "$IFACE" ] || return 0
ebegin "Removing WireGuard interface $IFACE"
ip link delete dev "$IFACE" type wireguard