diff options
Diffstat (limited to 'files')
-rwxr-xr-x | files/etc/init.d/n2n | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/files/etc/init.d/n2n b/files/etc/init.d/n2n new file mode 100755 index 0000000..929f463 --- /dev/null +++ b/files/etc/init.d/n2n @@ -0,0 +1,40 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2008 OpenWrt.org +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 + [ "$route" = "1" ] && args='-r' + if [ "$ipaddr" != "" ]; then + edge -f $args -a 169.254.0.1 -d $devname -c $community -k $key -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 edge + killall supernode +} |