1 #!/bin/sh /etc/rc.common
4 MODULE_DIR
="/sys/module/batman_adv"
9 if [ ! -d "$MODULE_DIR" ]; then
10 echo "batman-adv module directory not found - is the module loaded ?" >&2
14 version
=$
(cat $MODULE_DIR/version
)
16 if [ "$version" != "${version#0.3*}" ]; then
18 elif [ "$version" != "${version#0.2*}" ]; then
21 echo "Error - unknown version encountered: $version" >&2
32 [ $?
-ne 0 ] && return 1
34 config_get interfaces
"$meshif" interfaces
35 config_get orig_interval
"$meshif" orig_interval
36 config_get log_level
"$meshif" log_level
38 if [ "$interfaces" = "" ]; then
39 echo Error
, you must specify
at least a network interface
43 for interface
in $interfaces
45 if [ "$BAT_VER" = "0.2" ]; then
46 echo $interface > /proc
/net
/batman-adv
/interfaces
48 [ ! -f "/sys/class/net/$interface/batman_adv/mesh_iface" ] && echo "Can't add interface $interface - ignoring" && continue
49 echo $meshif > /sys
/class
/net
/$interface/batman_adv
/mesh_iface
53 if [ $orig_interval ]; then
54 if [ "$BAT_VER" = "0.2" ]; then
55 echo $orig_interval > /proc
/net
/batman-adv
/orig_interval
57 echo $orig_interval > /sys
/class
/net
/$meshif/batman_adv
/originator_interval
61 if [ $log_level ]; then
62 echo $log_level > /sys
/module
/batman_adv
/parameters
/debug
2>&-
70 [ $?
-ne 0 ] && return 1
72 if [ "$BAT_VER" = "0.2" ]; then
73 echo "" > /proc
/net
/batman-adv
/interfaces
77 for iface
in $
(ls /sys
/class
/net
/*)
79 [ ! -f "$iface/batman_adv/mesh_iface" ] && continue
80 [ "$(head -1 $iface/batman_adv/mesh_iface)" != "status: $meshif" ] && continue
82 echo "none" > $iface/batman_adv
/mesh_iface
86 # can also be used with "batman-adv start bat0"
88 config_load batman-adv
93 config_foreach start_mesh mesh
97 # can also be used with "batman-adv stop bat0"
99 config_load batman-adv
104 config_foreach stop_mesh mesh