hnetd: Updated to latest.
[lede-routing/.git] / hnetd / files / hnetd.init
index 70d0d70dd9dfb6995f18bf0b889fbab62c38ca9c..8ee076a1cc7cb902d1cfdcc09a2a95f31dcd1f3f 100644 (file)
@@ -12,8 +12,14 @@ 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
@@ -23,7 +29,7 @@ start_service() {
     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 -f $DNSMASQ_DIR/hnet.conf
         procd_append_param command -o $OHP_SCRIPT
         HOSTNAME=`cat /proc/sys/kernel/hostname`
         if [ -n "$HOSTNAME" ]
@@ -31,12 +37,35 @@ start_service() {
             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
-    procd_append_param command -s /tmp/hnetd.pa_state
+    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 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
 }