Files
2026-02-21 16:54:18 +01:00

36 lines
757 B
Django/Jinja

#!/bin/bash
set -e
LAB_NAME="{{ gateway_config.lab_name }}"
VNI="{{ gateway_config.vni }}"
WG_IF="wg-${LAB_NAME}"
VXLAN_IF="vxlan${VNI}"
# Wait for WireGuard interface
timeout=30
while [ $timeout -gt 0 ]; do
if ip link show ${WG_IF} &>/dev/null; then
break
fi
sleep 1
((timeout--))
done
# Create VXLAN interface
if ! ip link show ${VXLAN_IF} &>/dev/null; then
ip link add ${VXLAN_IF} type vxlan \
id ${VNI} \
dev ${WG_IF} \
dstport {{ vxlan_port }} \
nolearning \
proxy
fi
# Configure VXLAN peers (FDB entries)
{% for peer in gateway_config.peers %}
bridge fdb append 00:00:00:00:00:00 dev ${VXLAN_IF} dst {{ peer.wg_ip }}
{% endfor %}
# Bring up interface
ip link set ${VXLAN_IF} up