提交 a884fb1b 编写于 作者: M Marek Lindner

batman-adv: init script tries to retrieve interfaces from uci

The batman-adv init script will query uci (network.$iface.ifname)
to retrieve the interface name to re-use the existing network
configuration system. 
The default iface configuration (batman-adv.bat0.interfaces) is 
set to 'mesh' which allows to start batman-adv as soon as the
network configuration contains a 'mesh' stanza.
Signed-off-by: NFilippo Sallemi <tonyputi@gmail.com>
Signed-off-by: NGioacchino Mazzurco <gmazzurco89@gmail.com>



git-svn-id: svn://svn.openwrt.org/openwrt/packages/net/batman-adv@26719 3c298f89-4303-0410-b956-a3cf2f4a3e73
上级 5e425847
config 'mesh' 'bat0'
option 'interfaces' 'wlan0'
option 'interfaces' 'mesh'
option 'aggregated_ogms'
option 'bonding'
option 'fragmentation'
......
#!/bin/sh /etc/rc.common
# Copyright (C) 2011 OpenWrt.org
START=90
is_module_loaded() {
......@@ -33,11 +35,16 @@ start_mesh () {
echo Error, you must specify at least a network interface
return
fi
for interface in $interfaces
do
[ ! -f "/sys/class/net/$interface/batman_adv/mesh_iface" ] && echo "Can't add interface $interface - ignoring" && continue
echo $meshif > /sys/class/net/$interface/batman_adv/mesh_iface
ifname=$(uci -P /var/state get network.$interface.ifname 2>&-)
[ ! -f "/sys/class/net/$ifname/batman_adv/mesh_iface" ] && {
ifname=${interface}
[ ! -f "/sys/class/net/$ifname/batman_adv/mesh_iface" ] && echo "Can't add interface $ifname - ignoring" && continue
}
echo $meshif > /sys/class/net/$ifname/batman_adv/mesh_iface
done
if [ $orig_interval ]; then
......@@ -86,7 +93,7 @@ stop_mesh() {
for iface in $(ls /sys/class/net/*)
do
[ ! -f "$iface/batman_adv/mesh_iface" ] && continue
[ "$(head -1 $iface/batman_adv/mesh_iface)" != "status: $meshif" ] && continue
[ "$(head -1 $iface/batman_adv/mesh_iface)" != "$meshif" ] && continue
echo "none" > $iface/batman_adv/mesh_iface
done
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册