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: Filippo Sallemi <tonyputi@gmail.com> Signed-off-by: Gioacchino Mazzurco <gmazzurco89@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/packages@26719 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
a6d4ae4077
commit
5ac395bf23
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
config 'mesh' 'bat0'
|
config 'mesh' 'bat0'
|
||||||
option 'interfaces' 'wlan0'
|
option 'interfaces' 'mesh'
|
||||||
option 'aggregated_ogms'
|
option 'aggregated_ogms'
|
||||||
option 'bonding'
|
option 'bonding'
|
||||||
option 'fragmentation'
|
option 'fragmentation'
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
|
# Copyright (C) 2011 OpenWrt.org
|
||||||
|
|
||||||
START=90
|
START=90
|
||||||
|
|
||||||
is_module_loaded() {
|
is_module_loaded() {
|
||||||
@ -36,8 +38,13 @@ start_mesh () {
|
|||||||
|
|
||||||
for interface in $interfaces
|
for interface in $interfaces
|
||||||
do
|
do
|
||||||
[ ! -f "/sys/class/net/$interface/batman_adv/mesh_iface" ] && echo "Can't add interface $interface - ignoring" && continue
|
ifname=$(uci -P /var/state get network.$interface.ifname 2>&-)
|
||||||
echo $meshif > /sys/class/net/$interface/batman_adv/mesh_iface
|
[ ! -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
|
done
|
||||||
|
|
||||||
if [ $orig_interval ]; then
|
if [ $orig_interval ]; then
|
||||||
@ -86,7 +93,7 @@ stop_mesh() {
|
|||||||
for iface in $(ls /sys/class/net/*)
|
for iface in $(ls /sys/class/net/*)
|
||||||
do
|
do
|
||||||
[ ! -f "$iface/batman_adv/mesh_iface" ] && continue
|
[ ! -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
|
echo "none" > $iface/batman_adv/mesh_iface
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user