lldpd: add option to force EDP
authorStephen Howell <howels@allthatwemight.be>
Sat, 3 Feb 2024 14:16:09 +0000 (14:16 +0000)
committerStijn Tintel <stijn@linux-ipv6.be>
Thu, 8 Feb 2024 10:35:37 +0000 (12:35 +0200)
allow EDP support if compiled and add force EDP option

Signed-off-by: Stephen Howell <howels@allthatwemight.be>
package/network/services/lldpd/Makefile
package/network/services/lldpd/files/lldpd.init

index bd01077b66697e12cd8f38cad7ab58b4f982c974..1f8d1e546b0d5c0518fbb8fb7d4cc7d4ee09efb8 100644 (file)
@@ -76,7 +76,8 @@ ifneq ($(CONFIG_LLDPD_WITH_FDP),y)
        sed -i -e '/fdp/d' $(1)/etc/config/lldpd
 endif
 ifneq ($(CONFIG_LLDPD_WITH_EDP),y)
-       sed -i -e '/edp/d' $(1)/etc/init.d/lldpd $(1)/etc/config/lldpd
+       sed -i -e 's/CONFIG_LLDPD_WITH_EDP=y/CONFIG_LLDPD_WITH_EDP=n/g' $(1)/etc/init.d/lldpd
+       sed -i -e '/edp/d' $(1)/etc/config/lldpd
 endif
 ifneq ($(CONFIG_LLDPD_WITH_SONMP),y)
        sed -i -e 's/CONFIG_LLDPD_WITH_SONMP=y/CONFIG_LLDPD_WITH_SONMP=n/g' $(1)/etc/init.d/lldpd
index 98769688ecf8b86c59394dac8363baac4b95da89..f90b4a237cd0b6bf3afa9c0c268d3842907ba045 100644 (file)
@@ -5,6 +5,7 @@ START=90
 STOP=01
 
 CONFIG_LLDPD_WITH_CDP=y
+CONFIG_LLDPD_WITH_EDP=y
 CONFIG_LLDPD_WITH_FDP=y
 CONFIG_LLDPD_WITH_LLDPMED=y
 CONFIG_LLDPD_WITH_SNMP=y
@@ -56,7 +57,10 @@ get_config_restart_hash() {
                config_get_bool v 'config' 'force_cdp'; append _string "$v" ","
                config_get_bool v 'config' 'force_cdpv2'; append _string "$v" ","
        fi
-       config_get_bool v 'config' 'enable_edp'; append _string "$v" ","
+       if [ "$CONFIG_LLDPD_WITH_EDP" == "y" ]; then
+               config_get_bool v 'config' 'enable_edp'; append _string "$v" ","
+               config_get_bool v 'config' 'force_edp'; append _string "$v" ","
+       fi
        if [ "$CONFIG_LLDPD_WITH_FDP" == "y" ]; then
                config_get_bool v 'config' 'enable_fdp'; append _string "$v" ","
                config_get_bool v 'config' 'force_fdp'; append _string "$v" ","
@@ -171,6 +175,7 @@ start_service() {
        local enable_sonmp
        local force_sonmp
        local enable_edp
+       local force_edp
        local lldp_class
        local lldp_location
        local lldp_no_version
@@ -196,7 +201,10 @@ start_service() {
                config_get_bool enable_sonmp 'config' 'enable_sonmp' 0
                config_get_bool force_sonmp 'config' 'force_sonmp' 0
        fi
-       config_get_bool enable_edp 'config' 'enable_edp' 0
+       if [ "$CONFIG_LLDPD_WITH_EDP" == "y" ]; then
+               config_get_bool enable_edp 'config' 'enable_edp' 0
+               config_get_bool force_edp 'config' 'force_edp' 0
+       fi
        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
@@ -271,7 +279,15 @@ start_service() {
                fi
        fi
 
-       [ $enable_edp -gt 0 ] && procd_append_param command '-e'
+       if [ "$CONFIG_LLDPD_WITH_EDP" == "y" ] && [ $enable_edp -gt 0 ]; then
+               if [ $force_edp -gt 0 ]; then
+                       # EDP enbled and forced
+                       procd_append_param command '-ee'
+               else
+                       # EDP enbled
+                       procd_append_param command '-e'
+               fi
+       fi
 
        [ $readonly_mode -gt 0 ] && procd_append_param command '-r'
        [ $lldp_no_version -gt 0 ] && procd_append_param commanpackage/network/services/lldpd/Makefile package/network/services/lldpd/files/lldpd.initd '-k'