packages/net/wg-installer/wg-server/hotplug.d/99-mesh-olsrd

39 lines
1 KiB
Text
Raw Normal View History

#!/bin/sh
# check if wireguard
if [ "${DEVTYPE}" != "wireguard" ]; then
exit 0
fi
# check if correct naming
slicedint=$(echo $INTERFACE | cut -c1-3)
if [ "${slicedint}" != "wg_" ]; then
exit 0
fi
if [ "${ACTION}" == "add" ]; then
uci add olsrd Interface
uci set olsrd.@Interface[-1].ignore=0
uci set olsrd.@Interface[-1].interface="${INTERFACE}"
uci set olsrd.@Interface[-1].Mode="ether"
uci get wgserver.@olsrd_hotplug[0].LinkQualityMult
if [ $? ]; then
olsrd_LinkQualityMult="$(uci get wgserver.@olsrd_hotplug[0].LinkQualityMult)"
uci set olsrd.@Interface[-1].LinkQualityMult="$olsrd_LinkQualityMult"
fi
uci -c "$(dirname $(realpath /etc/config/olsrd))" commit olsrd
/etc/init.d/olsrd reload
fi
if [ "${ACTION}" == "remove" ]; then
i=0
while uci get olsrd.@Interface[$i] &> /dev/null ; do
if [ "$(uci get olsrd.@Interface[$i].interface)" == "${INTERFACE}" ]; then
uci delete olsrd.@Interface[$i]
fi
i=$((i+1));
done
uci -c "$(dirname $(realpath /etc/config/olsrd))" commit olsrd
/etc/init.d/olsrd reload
fi