diff options
author | Alexandru Ardelean <ardeleanalex@gmail.com> | 2016-01-05 09:40:22 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2016-10-31 12:51:15 +0100 |
commit | b7fadb12b76a471d66dfd3266ad0af2177914057 (patch) | |
tree | bae9664aad9352795277dbac22d1859a9ad4a462 /package/network/services/lldpd | |
parent | 909f0630663d7ae1471c76154516e3299992a150 (diff) | |
download | upstream-b7fadb12b76a471d66dfd3266ad0af2177914057.tar.gz upstream-b7fadb12b76a471d66dfd3266ad0af2177914057.tar.bz2 upstream-b7fadb12b76a471d66dfd3266ad0af2177914057.zip |
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>
Diffstat (limited to 'package/network/services/lldpd')
-rw-r--r-- | package/network/services/lldpd/files/lldpd.init | 6 |
1 files changed, 5 insertions, 1 deletions
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 } |