blob: 26f2e72be4d7c492b3a28cb09b776a59963d242f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/bin/sh /etc/rc.common
# Copyright (C) 2008 OpenWrt.org
[ -n "$IPKG_INSTROOT" ] && exit 0
START=90
config_cb() {
local cfg="$CONFIG_SECTION"
config_get configname "$cfg" TYPE
case "$configname" in
edge)
config_get ipaddr "$cfg" ipaddr
config_get supernode "$cfg" supernode
config_get port "$cfg" port
config_get community "$cfg" community
config_get key "$cfg" key
config_get_bool route "$cfg" route 0
config_get devname "$cfg" devname
node_mac=`ifconfig ath0 | grep HWaddr | awk '{print $5}' | tr -d "\n" | cut -c6-`
[ "$route" = "1" ] && args='-r'
if [ "$ipaddr" != "" ]; then
mac_random=`echo $(head -30 /dev/urandom | tr -dc "0123456789" | head -c2)`
edge -f $args -a 169.254.0.1 -d $devname -c $community -k $key -m 12:${mac_random}${node_mac} -l ${supernode}:${port}
ifconfig $devname 0.0.0.0
batctl if add $devname
fi
;;
supernode)
config_get port "$cfg" port
if [ "$port" != "" ]; then
supernode -l $port &
fi
;;
esac
}
start() {
config_load n2n
}
stop() {
killall -9 edge
killall supernode
}
|