lldpd: freeze execution of lldpd during reload

During reload, we could send invalid information to the other
side and confuse it.

That's why, during reload we'll pause execution, do the reconfig
and resume + update when reload is done.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
owl
Alexandru Ardelean 2016-01-05 09:40:22 +02:00 committed by Jo-Philipp Wich
parent 909f063066
commit b7fadb12b7
1 changed files with 5 additions and 1 deletions

View File

@ -99,6 +99,7 @@ service_running() {
reload_service() { reload_service() {
running || return 1 running || return 1
$LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF $LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
pause
unconfigure lldp custom-tlv unconfigure lldp custom-tlv
unconfigure system interface pattern unconfigure system interface pattern
unconfigure system description unconfigure system description
@ -108,7 +109,10 @@ reload_service() {
write_lldpd_conf write_lldpd_conf
$LLDPCLI -u $LLDPSOCKET -c $LLDPD_CONF -c $LLDPD_CONFS_DIR &> /dev/null $LLDPCLI -u $LLDPSOCKET -c $LLDPD_CONF -c $LLDPD_CONFS_DIR &> /dev/null
# Broadcast update over the wire # Broadcast update over the wire
$LLDPCLI -u $LLDPSOCKET update &> /dev/null $LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF
resume
update
EOF
return 0 return 0
} }