From 128250e8fc615aebe05642f023375dd7902808e1 Mon Sep 17 00:00:00 2001 From: "Daniel A. Maierhofer" Date: Wed, 26 Feb 2020 21:44:45 +0100 Subject: [PATCH] lldpd: add management IP setting add option to set management IP pattern also add missing 'unconfigure system hostname' for example pattern '!192.168.1.1' makes it possible that WAN IP is selected instead of LAN IP Signed-off-by: Daniel A. Maierhofer [grammar and spelling fixes in commit message] Signed-off-by: Stijn Tintel --- package/network/services/lldpd/Makefile | 2 +- package/network/services/lldpd/files/lldpd.config | 4 +++- package/network/services/lldpd/files/lldpd.init | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package/network/services/lldpd/Makefile b/package/network/services/lldpd/Makefile index 48a3993492..7c00685008 100644 --- a/package/network/services/lldpd/Makefile +++ b/package/network/services/lldpd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lldpd PKG_VERSION:=1.0.5 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://media.luffy.cx/files/lldpd diff --git a/package/network/services/lldpd/files/lldpd.config b/package/network/services/lldpd/files/lldpd.config index e16643c1f7..5e7c51ba7e 100644 --- a/package/network/services/lldpd/files/lldpd.config +++ b/package/network/services/lldpd/files/lldpd.config @@ -5,7 +5,7 @@ config lldpd config 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" @@ -13,6 +13,8 @@ config lldpd config #option lldp_description "OpenWrt System" #option lldp_hostname "Modified Hostname" + #option lldp_mgmt_ip "!192.168.1.1" + # interfaces to listen on list interface "loopback" list interface "lan" diff --git a/package/network/services/lldpd/files/lldpd.init b/package/network/services/lldpd/files/lldpd.init index 9fb3a82559..7a5b25e016 100644 --- a/package/network/services/lldpd/files/lldpd.init +++ b/package/network/services/lldpd/files/lldpd.init @@ -42,11 +42,15 @@ write_lldpd_conf() fi done + local lldp_mgmt_ip + config_get lldp_mgmt_ip 'config' 'lldp_mgmt_ip' + # Clear out the config file first echo -n > "$LLDPD_CONF" [ -n "$ifnames" ] && echo "configure system interface pattern" "$ifnames" >> "$LLDPD_CONF" [ -n "$lldp_description" ] && echo "configure system description" "\"$lldp_description\"" >> "$LLDPD_CONF" [ -n "$lldp_hostname" ] && echo "configure system hostname" "\"$lldp_hostname\"" >> "$LLDPD_CONF" + [ -n "$lldp_mgmt_ip" ] && echo "configure system ip management pattern" "\"$lldp_mgmt_ip\"" >> "$LLDPD_CONF" # Since lldpd's sysconfdir is /tmp, we'll symlink /etc/lldpd.d to /tmp/$LLDPD_CONFS_DIR [ -e $LLDPD_CONFS_DIR ] || ln -s /etc/lldpd.d $LLDPD_CONFS_DIR @@ -103,6 +107,8 @@ reload_service() { unconfigure lldp custom-tlv unconfigure system interface pattern unconfigure system description + unconfigure system hostname + unconfigure system ip management pattern EOF # Rewrite lldpd.conf # If something changed it should be included by the lldpcli call