#!/bin/sh /etc/rc.common START=55 USE_PROCD=1 PROG=/usr/sbin/l3roamd start_service () { local interfaces=$( for dev in $(gluon-list-mesh-interfaces); do echo " -m $dev"; done [ "$(ifstatus local_node | jsonfilter -e '@.up')" = 'true' ] && echo ' -i local-node' ) procd_open_instance procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn ${respawn_threshold:-3660} ${respawn_timeout:-5} ${respawn_retry:-0} procd_set_param command "$PROG" -s /var/run/l3roamd.sock -p $(lua -e 'print(require("gluon.site").prefix6())') $interfaces -t 254 -a $(uci get network.loopback.ip6addr | cut -d/ -f1) -4 0:0:0:0:0:ffff::/96 -b br-client procd_close_instance } service_triggers() { local script=$(readlink "$initscript") local name=$(basename "${script:-$initscript}") procd_open_trigger procd_add_raw_trigger 'interface.*' 0 "/etc/init.d/$name" reload procd_close_trigger }