ONOS-4505: Bug Fixes
Change-Id: I190b4e6b950381eef8d6fba1e3ac345ea6854e40
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
index 134a48b..864b6e5 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/DefaultIsisInterface.java
@@ -88,6 +88,7 @@
private IsisLsdb isisLsdb = null;
private List<Ip4Address> allConfiguredInterfaceIps = null;
private Channel channel;
+ private boolean helloSenderStarted = false;
/**
* Returns ISIS LSDB instance.
@@ -1103,12 +1104,14 @@
*/
public void startHelloSender(Channel channel) {
log.debug("IsisInterfaceImpl::startHelloSender");
-
- isisHelloPduSender = new IsisHelloPduSender(channel, this);
- exServiceHello = Executors.newSingleThreadScheduledExecutor();
- final ScheduledFuture<?> helloHandle =
- exServiceHello.scheduleAtFixedRate(isisHelloPduSender, 0,
- helloInterval, TimeUnit.SECONDS);
+ if (!helloSenderStarted) {
+ isisHelloPduSender = new IsisHelloPduSender(channel, this);
+ exServiceHello = Executors.newSingleThreadScheduledExecutor();
+ final ScheduledFuture<?> helloHandle =
+ exServiceHello.scheduleAtFixedRate(isisHelloPduSender, 0,
+ helloInterval, TimeUnit.SECONDS);
+ helloSenderStarted = true;
+ }
}
/**
@@ -1117,5 +1120,6 @@
public void stopHelloSender() {
log.debug("IsisInterfaceImpl::stopHelloSender");
exServiceHello.shutdown();
+ helloSenderStarted = false;
}
}
\ No newline at end of file