openwrt-routing/hnetd/files/hnetd.init

75 lines
2.0 KiB
Bash

#!/bin/sh /etc/rc.common
# XXX - is there something that should cause reload? or can we just
# use info from netifd and let it handle dynamic changes? let's hope
# so..
START=90
STOP=10
USE_PROCD=1
DNSMASQ_DIR=/tmp/dnsmasq.d
DNSMASQ_SCRIPT=/etc/init.d/dnsmasq
OHP_SCRIPT=/usr/sbin/hnetd-ohp-script
OHP_BINARY=/usr/sbin/ohybridproxy
PCP_SCRIPT=/usr/sbin/hnetd-pcp-script
PCP_BINARY=/usr/sbin/minimalist-pcproxy
start_service() {
. /lib/functions.sh
. /lib/functions/network.sh
config_load hnet
mkdir -p $DNSMASQ_DIR
procd_open_instance
procd_set_param command /usr/sbin/hnetd
# SD parts are here (make configurable?)
if [ -f $OHP_BINARY -a -f $DNSMASQ_SCRIPT ]
then
mkdir -p $DNSMASQ_DIR
procd_append_param command -d $DNSMASQ_SCRIPT
procd_append_param command -f $DNSMASQ_DIR/hnet.conf
procd_append_param command -o $OHP_SCRIPT
HOSTNAME=`cat /proc/sys/kernel/hostname`
if [ -n "$HOSTNAME" ]
then
procd_append_param command -n "$HOSTNAME"
fi
fi
# Enable PCP, if it's present
if [ -f $PCP_BINARY -a -f $PCP_SCRIPT ]
then
procd_append_param command -c $PCP_SCRIPT
fi
# State file
config_get val pa persistent_store
procd_append_param command -s ${val:-/tmp/hnetd.pa_state}
# Routing script
procd_append_param command -r /usr/sbin/hnetd-routing
config_get val pa ip4prefix
[ -n "$val" ] && procd_append_param command --ip4prefix $val
config_get val pa ulaprefix
[ -n "$val" ] && procd_append_param command --ulaprefix $val
config_get val pa ulamode
[ -n "$val" ] && procd_append_param command --ulamode $val
config_get val sd router_name
[ -n "$val" ] && procd_append_param command -n $val
config_get val sd domain_name
[ -n "$val" ] && procd_append_param command -m $val
# For more verbose logging, uncomment this:
#procd_append_param command --loglevel 7
procd_set_param respawn
procd_close_instance
}