lldpd: option to disable LLDP-MED inventory TLV
authorStephen Howell <howels@allthatwemight.be>
Sat, 16 Dec 2023 23:08:08 +0000 (23:08 +0000)
committerRobert Marko <robimarko@gmail.com>
Tue, 17 Sep 2024 10:36:02 +0000 (12:36 +0200)
add option to disable LLDP-MED inventory TLV transmission

Signed-off-by: Stephen Howell <howels@allthatwemight.be>
(cherry picked from commit 1753498b01d86b8d63349b01cb04026c07c343d9)
Link: https://github.com/openwrt/openwrt/pull/15299
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/network/services/lldpd/Makefile
package/network/services/lldpd/files/lldpd.init

index 289adc55c9407baa4c6651d582f9282cc21b1edd..9e4ee0727e37028dc75c41fde9208384c3228071 100644 (file)
@@ -82,6 +82,10 @@ endif
 ifneq ($(CONFIG_LLDPD_WITH_SNMP),y)
        sed -i -e '/agentxsocket/d' $(1)/etc/init.d/lldpd $(1)/etc/config/lldpd
 endif
+ifneq ($(CONFIG_LLDPD_WITH_LLDPMED),y)
+       sed -i -e 's/CONFIG_LLDPD_WITH_LLDPMED=y/CONFIG_LLDPD_WITH_LLDPMED=n/g' $(1)/etc/init.d/lldpd
+       sed -i -e '/agentxsocket/d' $(1)/etc/config/lldpd
+endif
 endef
 
 define Package/lldpd/conffiles
index 0456e7875e23b6ab00a0d9b8b0f6cebfbc42e5bd..4eca9ac8f40d3f9993d218a05832c1e9368be25e 100644 (file)
@@ -4,6 +4,8 @@
 START=90
 STOP=01
 
+CONFIG_LLDPD_WITH_LLDPMED=y
+
 USE_PROCD=1
 LLDPDBIN=/usr/sbin/lldpd
 LLDPCLI=/usr/sbin/lldpcli
@@ -37,6 +39,9 @@ get_config_restart_hash() {
        config_get      v 'config' 'filter'; append _string "$v" ","
        config_get_bool v 'config' 'readonly_mode'; append _string "$v" ","
        config_get_bool v 'config' 'lldp_no_version'; append _string "$v" ","
+       if [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ]; then
+               config_get_bool v 'config' 'lldpmed_no_inventory'; append _string "$v" ","
+       fi
        config_get_bool v 'config' 'enable_lldp' 1; append _string "$v" ","
        config_get_bool v 'config' 'enable_cdp'; append _string "$v" ","
        config_get_bool v 'config' 'enable_edp'; append _string "$v" ","
@@ -110,6 +115,7 @@ start_service() {
        local lldp_class
        local lldp_location
        local lldp_no_version
+       local lldpmed_no_inventory
        local readonly_mode
        local agentxsocket
        local filter
@@ -122,6 +128,9 @@ start_service() {
        config_get lldp_class 'config' 'lldp_class'
        config_get lldp_location 'config' 'lldp_location'
        config_get_bool lldp_no_version 'config' 'lldp_no_version' 0
+       if [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ]; then
+               config_get_bool lldpmed_no_inventory 'config' 'lldpmed_no_inventory' 0
+       fi
        config_get_bool readonly_mode 'config' 'readonly_mode' 0
        config_get agentxsocket 'config' 'agentxsocket'
        config_get filter 'config' 'filter' 15
@@ -142,6 +151,7 @@ start_service() {
        [ $enable_edp -gt 0 ] && procd_append_param command '-e'
        [ $readonly_mode -gt 0 ] && procd_append_param command '-r'
        [ $lldp_no_version -gt 0 ] && procd_append_param command '-k'
+       [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ] && [ $lldpmed_no_inventory -gt 0 ] && procd_append_param command '-i'
        [ -n "$lldp_class" ] && procd_append_param command -M "$lldp_class"
        [ -n "$agentxsocket" ] && procd_append_param command -x -X "$agentxsocket"
        [ -n "$filter" ] && procd_append_param command -H "$filter"