aboutsummaryrefslogtreecommitdiff
path: root/package/network
diff options
context:
space:
mode:
authorStephen Howell <howels@allthatwemight.be>2023-12-16 23:46:53 +0000
committerStijn Tintel <stijn@linux-ipv6.be>2024-02-08 12:35:36 +0200
commit24176a6bdd8f26040a97960868fd0d9ee968d695 (patch)
tree26b31eb71280f2a27179b5e16ab7a728a1c118cc /package/network
parent1753498b01d86b8d63349b01cb04026c07c343d9 (diff)
lldpd: add LLDP MED options
add option to enable LLDP MED fast-start and set fast-start timer Signed-off-by: Stephen Howell <howels@allthatwemight.be>
Diffstat (limited to 'package/network')
-rw-r--r--package/network/services/lldpd/files/lldpd.init23
1 files changed, 22 insertions, 1 deletions
diff --git a/package/network/services/lldpd/files/lldpd.init b/package/network/services/lldpd/files/lldpd.init
index 4eca9ac8f4..55fbe61fc4 100644
--- a/package/network/services/lldpd/files/lldpd.init
+++ b/package/network/services/lldpd/files/lldpd.init
@@ -94,6 +94,14 @@ write_lldpd_conf()
local lldp_syscapabilities
config_get lldp_syscapabilities 'config' 'lldp_syscapabilities'
+ if [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ]; then
+ local lldpmed_fast_start
+ config_get_bool lldpmed_fast_start 'config' 'lldpmed_fast_start' 0
+
+ local lldpmed_fast_start_tx_interval
+ config_get lldpmed_fast_start_tx_interval 'config' 'lldpmed_fast_start_tx_interval' 0
+ fi
+
# Clear out the config file first
echo -n > "$LLDPD_CONF"
[ -n "$ifnames" ] && echo "configure system interface pattern" "$ifnames" >> "$LLDPD_CONF"
@@ -101,6 +109,14 @@ write_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"
[ -n "$lldp_syscapabilities" ] && echo "configure system capabilities enabled" "\"$lldp_syscapabilities\"" >> "$LLDPD_CONF"
+ if [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ] && [ $lldpmed_fast_start -gt 0 ]; then
+ if [ $lldpmed_fast_start_tx_interval -gt 0 ]; then
+ echo "configure med fast-start tx-interval" "\"$lldpmed_fast_start_tx_interval\"" >> "$LLDPD_CONF"
+ else
+ echo "configure med fast-start" "enable" >> "$LLDPD_CONF"
+ fi
+ fi
+
# 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
@@ -192,7 +208,7 @@ reload_service() {
restart
return 0
fi
-
+
$LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
pause
unconfigure lldp custom-tlv
@@ -201,6 +217,11 @@ reload_service() {
unconfigure system hostname
unconfigure system ip management pattern
EOF
+ if [ "$CONFIG_LLDPD_WITH_LLDPMED" == "y" ]; then
+ $LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
+ unconfigure med fast-start
+ EOF
+ fi
# Rewrite lldpd.conf
# If something changed it should be included by the lldpcli call
write_lldpd_conf