From b7fadb12b76a471d66dfd3266ad0af2177914057 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Tue, 5 Jan 2016 09:40:22 +0200 Subject: 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 --- package/network/services/lldpd/files/lldpd.init | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package/network/services/lldpd/files/lldpd.init b/package/network/services/lldpd/files/lldpd.init index 8fe0a47cdc..4e9efcae0d 100644 --- a/package/network/services/lldpd/files/lldpd.init +++ b/package/network/services/lldpd/files/lldpd.init @@ -99,6 +99,7 @@ service_running() { reload_service() { running || return 1 $LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF + pause unconfigure lldp custom-tlv unconfigure system interface pattern unconfigure system description @@ -108,7 +109,10 @@ reload_service() { write_lldpd_conf $LLDPCLI -u $LLDPSOCKET -c $LLDPD_CONF -c $LLDPD_CONFS_DIR &> /dev/null # Broadcast update over the wire - $LLDPCLI -u $LLDPSOCKET update &> /dev/null + $LLDPCLI -u $LLDPSOCKET &> /dev/null <<-EOF + resume + update + EOF return 0 } -- cgit v1.2.3