gluon-packages/net/batman-adv/files/usr/sbin/batman-adv

61 lines
1.0 KiB
Bash

#!/bin/sh
# Copyright (C) 2011 OpenWrt.org
. /lib/functions.sh
. /lib/batman-adv/config.sh
start_mesh() {
local mesh="$1"
local ifaces=$(awk -F':' '{if (NR > 2) print $1}' /proc/net/dev)
for iface in $ifaces; do
[ -d /sys/class/net/$iface/batman_adv/ ] && bat_add_interface "$mesh" "$iface"
done
bat_config "$mesh"
}
stop_mesh() {
local mesh="$1"
local ifaces=$(awk -F':' '{if (NR > 2) print $1}' /proc/net/dev)
for iface in $ifaces; do
[ -d /sys/class/net/$iface/batman_adv/ ] && bat_del_interface "$mesh" "$iface"
done
}
# can also be used with "batman-adv start bat0"
start() {
bat_load_module
config_load batman-adv
if [ -n "$1" ]; then
start_mesh $1
else
config_foreach start_mesh mesh
fi
}
# can also be used with "batman-adv stop bat0"
stop () {
config_load batman-adv
if [ -n "$1" ]; then
stop_mesh $1
else
config_foreach stop_mesh mesh
fi
}
restart() {
stop $1
start $1
}
case "$1" in
start) start $2 ;;
stop) stop $2 ;;
restart) restart $2 ;;
*) echo "Usage: batman-adv <start|stop|restart> [mesh instance]"
esac