#!/bin/sh /etc/rc.common
|
|
#
|
|
# Copyright (C) 2016-2019 eGloo, Incorporated
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
START=50
|
|
STOP=50
|
|
|
|
USE_PROCD=1
|
|
PROG=/usr/sbin/netifyd
|
|
|
|
start_netifyd() {
|
|
local instance enabled autoconfig internal_if external_if
|
|
|
|
instance="$1"
|
|
|
|
config_get_bool enabled "$instance" enabled 0
|
|
[ "$enabled" -eq 0 ] && return 0
|
|
|
|
[ ! -d /var/run/netifyd ] && mkdir -p /var/run/netifyd
|
|
|
|
config_get_bool autoconfig "$instance" autoconfig 1
|
|
config_get filter "$instance" filter
|
|
|
|
if [ "$autoconfig" -gt 0 ] ; then
|
|
source /usr/share/netifyd/functions.sh
|
|
load_modules
|
|
NETIFYD_AUTODETECT=yes
|
|
NETIFYD_OPTS=$(auto_detect_options)
|
|
else
|
|
config_get internal_if "$instance" internal_if "eth0"
|
|
config_get external_if "$instance" external_if "eth1"
|
|
NETIFYD_OPTS="-E $external_if -I $internal_if"
|
|
fi
|
|
|
|
|
|
procd_open_instance
|
|
procd_set_param command $PROG -R $NETIFYD_OPTS
|
|
[ -n "$filter" ] && procd_append_param command -F "$filter"
|
|
procd_set_param file /etc/netifyd.conf
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
}
|
|
|
|
start_service() {
|
|
config_load netifyd
|
|
config_foreach start_netifyd netifyd
|
|
}
|