3 olsrd_list_configured_interfaces
()
8 while interface
="$( uci -q get $OLSRD.@Interface[$i].interface )"; do {
9 case "$( uci -q get $OLSRD.@Interface[$i].ignore )" in
10 1|on|true|enabled|
yes)
14 echo "$interface" # e.g. 'lan'
22 olsrd_interface_already_in_config
()
24 # e.g.: 'Interface "eth0.1" "eth0.2" "wlan0"'
25 if grep -s ^
'Interface ' "/var/etc/$OLSRD.conf" |
grep -q "\"$DEVICE\""; then
26 logger
-t olsrd_hotplug
-p daemon.debug
"[OK] already_active: '$INTERFACE' => '$DEVICE'"
29 logger
-t olsrd_hotplug
-p daemon.info
"[OK] ifup: '$INTERFACE' => '$DEVICE'"
34 olsrd_interface_needs_adding
()
38 # likely and cheap operation:
39 olsrd_interface_already_in_config
&& return 1
41 for interface
in $
(olsrd_list_configured_interfaces
); do {
42 [ "$interface" = "$INTERFACE" ] && {
43 olsrd_interface_already_in_config ||
return 0
47 logger
-t olsrd_hotplug
-p daemon.debug
"[OK] interface '$INTERFACE' => '$DEVICE' not used for $OLSRD"
53 # only work after the first normal startup
54 # also: no need to test, if enabled
56 [ -e "/var/etc/$OLSRD.conf" ] && {
57 # INTERFACE = e.g. 'wlanadhocRADIO1' or 'cfg144d8f'
58 # DEVICE = e.g. 'wlan1-1'
59 olsrd_interface_needs_adding
&& {
60 .
/etc
/rc.common
/etc
/init.d
/$OLSRD restart
65 [ -e "/var/etc/$OLSRD.conf" ] && {
66 olsrd_interface_needs_adding
&& {
67 .
/etc
/rc.common
/etc
/init.d
/$OLSRD restart