#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2014 OpenWrt.org
|
|
|
|
START=97
|
|
|
|
USE_PROCD=1
|
|
PROG=/usr/sbin/smartsnmpd
|
|
CONFIGFILE=/etc/smartsnmpd.conf
|
|
|
|
smartsnmpd_mib_module() {
|
|
local cfg="$1"
|
|
config_get OID "$cfg" oid
|
|
config_get MODULE "$cfg" module
|
|
echo " ['$OID'] = '$MODULE'," >> $CONFIGFILE
|
|
}
|
|
|
|
start_service() {
|
|
include /lib/functions
|
|
|
|
config_load smartsnmpd
|
|
|
|
procd_open_instance
|
|
procd_set_param command $PROG -c $CONFIGFILE
|
|
procd_set_param file $CONFIGFILE
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
|
|
# before we can call xappend
|
|
mkdir -p "$(dirname $CONFIGFILE)"
|
|
|
|
echo "-- auto-generated config file from /etc/config/smartsnmpd" > $CONFIGFILE
|
|
|
|
{
|
|
config_get PORT smartsnmpd port 161
|
|
echo "port = $PORT"
|
|
|
|
config_get RO_COMMUNITY smartsnmpd ro_community 'public'
|
|
config_get RW_COMMUNITY smartsnmpd rw_community 'private'
|
|
echo "ro_community = '$RO_COMMUNITY'"
|
|
echo "rw_community = '$RW_COMMUNITY'"
|
|
|
|
config_get MIB_MODULE_PATH smartsnmpd mib_module_path '/usr/lib/lua/smartsnmp/mibs/'
|
|
echo "mib_module_path = '$MIB_MODULE_PATH'"
|
|
|
|
echo "mib_modules = {"
|
|
config_foreach smartsnmpd_mib_module smartsnmpd_module
|
|
echo "}"
|
|
} >> $CONFIGFILE
|
|
}
|