fix netconf automatic reconnection issue (check both isClosed and isClosing)
Change-Id: I4b4730fe3030ae66877561ccf71f85c55919a7ce
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
index 48be199..596cb1a 100644
--- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
+++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfSessionMinaImpl.java
@@ -411,15 +411,15 @@
@Override
public void checkAndReestablish() throws NetconfException {
try {
- if (client.isClosed()) {
+ if (client.isClosed() || client.isClosing()) {
log.debug("Trying to restart the whole SSH connection with {}", deviceInfo.getDeviceId());
cleanUp();
startConnection();
- } else if (session.isClosed()) {
+ } else if (session.isClosed() || session.isClosing()) {
log.debug("Trying to restart the session with {}", session, deviceInfo.getDeviceId());
cleanUp();
startSession();
- } else if (channel.isClosed()) {
+ } else if (channel.isClosed() || channel.isClosing()) {
log.debug("Trying to reopen the channel with {}", deviceInfo.getDeviceId());
cleanUp();
openChannel();