aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStijn Tintel <stijn@linux-ipv6.be>2017-01-05 13:05:57 +0100
committerStijn Tintel <stijn@linux-ipv6.be>2017-01-10 13:02:00 +0100
commit046606a05eaece636dae1565fd1445b02a37d940 (patch)
treefeea24eaf40954f1e6282cbb4f1b34f92ce30fe5
parent0d3dc169316616103dc30252c9aae4de27ab3d50 (diff)
downloadupstream-046606a05eaece636dae1565fd1445b02a37d940.tar.gz
upstream-046606a05eaece636dae1565fd1445b02a37d940.tar.bz2
upstream-046606a05eaece636dae1565fd1445b02a37d940.zip
lldpd: add Net-SNMP AgentX support
Enabling this makes it possible to query LLDP neighbors via SNMP. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--package/network/services/lldpd/Config.in4
-rw-r--r--package/network/services/lldpd/Makefile8
-rw-r--r--package/network/services/lldpd/files/lldpd.config2
-rw-r--r--package/network/services/lldpd/files/lldpd.init3
4 files changed, 15 insertions, 2 deletions
diff --git a/package/network/services/lldpd/Config.in b/package/network/services/lldpd/Config.in
index 93d84e29ea..ec6990a76c 100644
--- a/package/network/services/lldpd/Config.in
+++ b/package/network/services/lldpd/Config.in
@@ -51,4 +51,8 @@ config LLDPD_WITH_JSON
prompt "Enable JSON output for the LLDP Command-Line Interface"
default n
+config LLDPD_WITH_SNMP
+ bool
+ default n
+ prompt "Enable the use of SNMP"
endmenu
diff --git a/package/network/services/lldpd/Makefile b/package/network/services/lldpd/Makefile
index 3579e53e02..74169a1c4c 100644
--- a/package/network/services/lldpd/Makefile
+++ b/package/network/services/lldpd/Makefile
@@ -31,7 +31,7 @@ define Package/lldpd
SUBMENU:=Routing and Redirection
TITLE:=Link Layer Discovery Protocol daemon
URL:=https://github.com/vincentbernat/lldpd/wiki
- DEPENDS:=+libevent2 +USE_GLIBC:libbsd +LLDPD_WITH_JSON:libjson-c
+ DEPENDS:=+libevent2 +USE_GLIBC:libbsd +LLDPD_WITH_JSON:libjson-c +LLDPD_WITH_SNMP:libnetsnmp
USERID:=lldp=121:lldp=129
MENU:=1
endef
@@ -78,6 +78,9 @@ endif
ifneq ($(CONFIG_LLDPD_WITH_SONMP),y)
sed -i -e '/sonmp/d' $(1)/etc/init.d/lldpd $(1)/etc/config/lldpd
endif
+ifneq ($(CONFIG_LLDPD_WITH_SNMP),y)
+ sed -i -e '/agentxsocket/d' $(1)/etc/init.d/lldpd $(1)/etc/config/lldpd
+endif
endef
define Package/lldpd/conffiles
@@ -103,7 +106,8 @@ CONFIGURE_ARGS += \
$(if $(CONFIG_LLDPD_WITH_DOT3),,--disable-dot3) \
$(if $(CONFIG_LLDPD_WITH_CUSTOM),,--disable-custom) \
$(if $(CONFIG_LLDPD_WITH_SONMP),,--disable-sonmp) \
- $(if $(CONFIG_LLDPD_WITH_JSON),--with-json=json-c,--with-json=no)
+ $(if $(CONFIG_LLDPD_WITH_JSON),--with-json=json-c,--with-json=no) \
+ $(if $(CONFIG_LLDPD_WITH_SNMP),--with-snmp,)
$(eval $(call BuildPackage,lldpd))
diff --git a/package/network/services/lldpd/files/lldpd.config b/package/network/services/lldpd/files/lldpd.config
index 92ab42116b..d2b3d15450 100644
--- a/package/network/services/lldpd/files/lldpd.config
+++ b/package/network/services/lldpd/files/lldpd.config
@@ -3,6 +3,8 @@ config lldpd config
option enable_fdp 1
option enable_sonmp 1
option enable_edp 1
+
+ option agentxsocket /var/run/agentx.sock
option lldp_class 4
option lldp_location "2:FR:6:Commercial Rd:3:Roseville:19:4"
diff --git a/package/network/services/lldpd/files/lldpd.init b/package/network/services/lldpd/files/lldpd.init
index 4e9efcae0d..4495551567 100644
--- a/package/network/services/lldpd/files/lldpd.init
+++ b/package/network/services/lldpd/files/lldpd.init
@@ -57,6 +57,7 @@ start_service() {
local lldp_class
local lldp_location
local readonly_mode
+ local agentxsocket
config_load 'lldpd'
config_get_bool enable_cdp 'config' 'enable_cdp' 0
@@ -66,6 +67,7 @@ start_service() {
config_get lldp_class 'config' 'lldp_class'
config_get lldp_location 'config' 'lldp_location'
config_get_bool readonly_mode 'config' 'readonly_mode' 0
+ config_get agentxsocket 'config' 'agentxsocket'
mkdir -p /var/run/lldp
chown lldp:lldp /var/run/lldp
@@ -83,6 +85,7 @@ start_service() {
[ $enable_edp -gt 0 ] && procd_append_param command '-e'
[ $readonly_mode -gt 0 ] && procd_append_param command '-r'
[ -n "$lldp_class" ] && procd_append_param command -M "$lldp_class"
+ [ -n "$agentxsocket" ] && procd_append_param command -x -X "$agentxsocket"
# set auto respawn behavior
procd_set_param respawn