25 lines
667 B
Bash
25 lines
667 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Current lldpd version has a bug.
|
||
|
# When lldpd starts it is in the pause state by default
|
||
|
# But then it execute 'lldpcli resume' to configure and unpause itself.
|
||
|
# When lldpd execute lldpcli, it doesn't check the return code
|
||
|
# Sometimes lldpcli returns failure, but lldpd doesn't catch it
|
||
|
# and keeps working paused and unconfigured
|
||
|
#
|
||
|
# The fix below addresses the issue.
|
||
|
#
|
||
|
|
||
|
# wait until lldpd started
|
||
|
until [[ -e /var/run/lldpd.socket ]];
|
||
|
do
|
||
|
sleep 1;
|
||
|
done
|
||
|
|
||
|
# Manually try to resume lldpd, until it's successful
|
||
|
while /bin/true;
|
||
|
do
|
||
|
lldpcli -u /var/run/lldpd.socket -c /etc/lldpd.conf -c /etc/lldpd.d resume > /dev/null && break
|
||
|
sleep 1
|
||
|
done
|