#!/bin/sh /etc/rc.common
# shellcheck disable=SC2039
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :

# shellcheck disable=SC2034
{
	START=90
	STOP=10
	USE_PROCD=1
}

PROG_NAME=otb-auto-sqm
PROG=/bin/${PROG_NAME}

_log() {
	logger -p daemon.info -t ${PROG_NAME} "$@"
}

_err() {
	logger -p daemon.err -t ${PROG_NAME} "$@"
}

_check_wan_interface() {
	config_get multipath "$1" multipath
	if [ "$multipath" != "off" ]; then
		wan_interfaces="$wan_interfaces $1"
	fi
}

_get_wan_interfaces() {
	local wan_interfaces=""
	config_load network
	config_foreach _check_wan_interface interface
	echo "$wan_interfaces"
}

start_service() {
	# Get wan interfaces
	interfaces=$(_get_wan_interfaces)
	if [ -z "$interfaces" ]; then
		_err "No WAN interfaces found!"
		_err "Please check your network and restart service..."
		return 1
	fi

	_log "Starting SQM for interfaces: $interfaces"

	# Open procd instance and set parameters
	procd_open_instance
	procd_set_param command "$PROG" $interfaces
	procd_set_param stdout 1
	procd_set_param stderr 1
	procd_close_instance
}
