1
0
mirror of https://github.com/freifunk-gluon/packages.git synced 2024-06-20 07:38:30 +02:00
gluon-packages/gluon/gluon-announced/files/etc/hotplug.d/iface/10-gluon-announced
NeoRaider f0306cb134 Merge pull request #87 from freifunk-darmstadt/patch-1
gluon-announce: rename announce.lua to collect.lua
2015-01-24 11:11:55 +01:00

46 lines
872 B
Bash

#!/bin/sh
. /usr/share/libubox/jshn.sh
. /lib/functions/service.sh
DEVLIST=/var/run/gluon-announced.devs
DAEMON=/usr/bin/gluon-announced
ifname_to_dev () {
json_load "$(ubus call network.interface.$1 status)"
json_get_var dev device
echo "$dev"
}
restart_announced () {
SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
SERVICE_DAEMONIZE=1
DEVS=$(cat $DEVLIST | while read dev iface;do echo -n " -i $dev";done)
service_stop $DAEMON
service_start $DAEMON -g ff02:0:0:0:0:0:2:1001 -p 1001 -s '/lib/gluon/announce/collect.lua nodeinfo' $DEVS
}
case "$ACTION" in
ifdown)
sed -i "/$INTERFACE/d" $DEVLIST
;;
ifup)
DEVICE=$(ifname_to_dev $INTERFACE)
MESH=$(cat /sys/class/net/$DEVICE/batman_adv/mesh_iface)
[ $MESH = "bat0" ] || exit 0
DEVS="$(cat $DEVLIST; echo $DEVICE $INTERFACE)"
echo "$DEVS" | sort | uniq > $DEVLIST
restart_announced
;;
esac