Browse Source

net-snmp: add notification config options

Add config support which allow snmpd to take a more active role by sending
traps.

Following config options are supported which map directly on snmpd directives:
-trapcommunity
-trapsink
-trap2sink
-informsink
-authtrapenable
-v1trapaddress
-trapsess

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
lilik-openwrt-22.03
Hans Dedecker 8 years ago
committed by Hans Dedecker
parent
commit
bb0dfbe6cc
3 changed files with 73 additions and 2 deletions
  1. +1
    -1
      net/net-snmp/Makefile
  2. +27
    -0
      net/net-snmp/files/snmpd.conf
  3. +45
    -1
      net/net-snmp/files/snmpd.init

+ 1
- 1
net/net-snmp/Makefile View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=net-snmp
PKG_VERSION:=5.7.3
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/net-snmp


+ 27
- 0
net/net-snmp/files/snmpd.conf View File

@ -88,5 +88,32 @@ config engineid
option engineidtype '3'
option engineidnic 'eth0'
#config trapcommunity 'trapcommunity'
# option community 'public'
#config trapsink
# option host 'nms.system.com'
# option community 'public'
# option port '162'
#config trap2sink
# option host 'nms.system.com'
# option community 'secret'
# option port '162'
#config informsink
# option host 'nms.sytem.com'
# option community 'public'
# option port '162'
#config authtrapenable 'authtrapenable'
# option enable '1'
#config v1trapaddress 'v1trapaddress'
# option host '1.2.3.4'
#config trapsess 'trapsess'
# option trapsess '-v 3 -e 0x80001f88808c18d3f7b0000 -u trapuser -a MD5 -A administrator -l authPriv -x DES -X rootpasswd udp:127.0.0.1:162'
config snmpd general
# list network 'wan'

+ 45
- 1
net/net-snmp/files/snmpd.init View File

@ -210,6 +210,43 @@ snmpd_engineid_add() {
[ -n "$engineidnic" ] && echo "engineIDNic $engineidnic" >> $CONFIGFILE
}
snmpd_sink_add() {
local cfg="$1"
local section="$2"
local community
local port
local host
config_get host "$cfg" host
[ -n "section" -a -n "$host" ] || return 0
# optional community
config_get community "$cfg" community
# optional port
config_get port "$cfg" port
port=${port:+:$port}
echo "$section $host$port $community" >> $CONFIGFILE
}
append_parm() {
local section="$1"
local option="$2"
local switch="$3"
local _loctmp
config_get _loctmp "$section" "$option"
[ -z "$_loctmp" ] && return 0
echo "$switch $_loctmp" >> $CONFIGFILE
}
append_authtrapenable() {
local section="$1"
local option="$2"
local switch="$3"
local _loctmp
config_get_bool _loctmp "$section" "$option"
[ -z "$_loctmp" ] && return 0
[ "$_loctmp" -gt 0 ] && echo "$switch $_loctmp" >> $CONFIGFILE
}
snmpd_setup_fw_rules() {
local net="$1"
local zone
@ -256,7 +293,14 @@ start_service() {
config_foreach snmpd_exec_add exec
config_foreach snmpd_disk_add disk
config_foreach snmpd_engineid_add engineid
append_parm trapcommunity community trapcommunity
config_foreach snmpd_sink_add trapsink trapsink
config_foreach snmpd_sink_add trap2sink trap2sink
config_foreach snmpd_sink_add informsink informsink
append_authtrapenable authtrapenable enable authtrapenable
append_parm v1trapaddress host v1trapaddress
append_parm trapsess trapsess trapsess
procd_set_param command $PROG -Lf /dev/null -f
procd_set_param file $CONFIGFILE
procd_set_param respawn


Loading…
Cancel
Save