Merge "Fix for hosttracker. Ignore ARP messages from internal nodes."
authorGiovanni Meo <gmeo@cisco.com>
Tue, 20 Aug 2013 06:53:55 +0000 (06:53 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 20 Aug 2013 06:53:55 +0000 (06:53 +0000)
opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java

index fb9378cdd339b2fb76903199f5b9899c4db06191..367df5ebb05e87e7b93737f9a9db03bd43075e9f 100644 (file)
@@ -434,7 +434,15 @@ public class HostTracker implements IfIptoHost, IfHostListener, ISwitchManagerAw
     }
 
     private void replaceHost(InetAddress networkAddr, HostNodeConnector removedHost, HostNodeConnector newHost) {
+        // Ignore ARP messages from internal nodes
+        NodeConnector newHostNc = newHost.getnodeConnector();
+        boolean newHostIsInternal = topologyManager.isInternal(newHostNc);
+        if (newHostIsInternal) {
+            return;
+        }
+
         newHost.initArpSendCountDown();
+
         if (hostsDB.replace(networkAddr, removedHost, newHost)) {
             logger.debug("Host move occurred: Old Host IP:{}, New Host IP: {}", removedHost.getNetworkAddress()
                     .getHostAddress(), newHost.getNetworkAddress().getHostAddress());