X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fhosttracker%2Fimplementation%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fhosttracker%2Finternal%2FHostTracker.java;h=707a7761389c1b0dcf3d6c6cc4706c95c944f96f;hb=refs%2Fchanges%2F66%2F466%2F6;hp=f5123eb4d0dc3393cebeb1bdae0b864a626ccc64;hpb=600e7a7bf7a59029e85a4811d835133d77b6d8d2;p=controller.git diff --git a/opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java b/opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java index f5123eb4d0..707a776138 100644 --- a/opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java +++ b/opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java @@ -33,11 +33,11 @@ import org.opendaylight.controller.clustering.services.CacheConfigException; import org.opendaylight.controller.clustering.services.CacheExistException; import org.opendaylight.controller.clustering.services.IClusterContainerServices; import org.opendaylight.controller.clustering.services.IClusterServices; -import org.opendaylight.controller.hosttracker.hostAware.HostNodeConnector; -import org.opendaylight.controller.hosttracker.hostAware.IHostFinder; import org.opendaylight.controller.hosttracker.IfHostListener; import org.opendaylight.controller.hosttracker.IfIptoHost; import org.opendaylight.controller.hosttracker.IfNewHostNotify; +import org.opendaylight.controller.hosttracker.hostAware.HostNodeConnector; +import org.opendaylight.controller.hosttracker.hostAware.IHostFinder; import org.opendaylight.controller.sal.core.ConstructionException; import org.opendaylight.controller.sal.core.Edge; import org.opendaylight.controller.sal.core.Host; @@ -140,12 +140,12 @@ public class HostTracker implements IfIptoHost, IfHostListener, * wasn't created for this host in the controller. This would cause * arphandler not to know where to send the ARP 2. The host facing port is * down 3. The IP host doesn't exist or is not responding to ARP requests - * + * * Conditions 1 and 2 above can be recovered if ARP is sent when the * relevant L3 interface is added or the port facing host comes up. Whenever * L3 interface is added or host facing port comes up, ARP will be sent to * hosts in this list. - * + * * We can't recover from condition 3 above */ private ArrayList failedARPReqList = new ArrayList(); @@ -433,7 +433,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, */ removePendingARPFromList(i); logger.debug("Host Removed from ARPPending List, IP: {}", - networkAddr); + networkAddr); return; } } @@ -591,10 +591,10 @@ public class HostTracker implements IfIptoHost, IfHostListener, * When a new Host is learnt by the hosttracker module, it places the * directly connected Node in Tier-1 & using this function, updates the Tier * value for all other Nodes in the network hierarchy. - * + * * This is a recursive function and it takes care of updating the Tier value * for all the connected and eligible Nodes. - * + * * @param n * Node that represents one of the Vertex in the Topology Graph. * @param currentTier @@ -643,7 +643,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * Internal convenience routine to check the eligibility of a Switch for a * Tier update. Any Node with Tier=0 or a Tier value that is greater than * the new Tier Value is eligible for the update. - * + * * @param n * Node for which the Tier update eligibility is checked * @param tier @@ -717,7 +717,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * that returns the Network Hierarchy for a given Host. This API is * typically used by applications like Hadoop for Rack Awareness * functionality. - * + * * @param hostAddress * IP-Address of the host/node. * @return Network Hierarchies represented by an Array of Array (of @@ -742,7 +742,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * is used as the network for Hadoop Demos & in order to give a meaningful * rack-awareness switch names, the DPID is organized in ASCII Characters * and retrieved as string. - * + * * @param dpid * Switch DataPath Id * @return Ascii String represented by the DPID. @@ -765,7 +765,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * A convenient recursive routine to obtain the Hierarchy of Switches. - * + * * @param node * Current Node in the Recursive routine. * @param currHierarchy @@ -991,13 +991,14 @@ public class HostTracker implements IfIptoHost, IfHostListener, * there */ if (logger.isTraceEnabled()) { - logger.trace( - "ARP Probing ({}) for {}({})", - new Object[] { - arp_cntdown, - host.getNetworkAddress().getHostAddress(), - HexEncode.bytesToHexString(host - .getDataLayerAddressBytes()) }); + logger.trace( + "ARP Probing ({}) for {}({})", + new Object[] { + arp_cntdown, + host.getNetworkAddress() + .getHostAddress(), + HexEncode.bytesToHexString(host + .getDataLayerAddressBytes()) }); } host.setArpSendCountDown(arp_cntdown); hostFinder.probe(host); @@ -1009,7 +1010,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * Inform the controller IP to MAC binding of a host and its connectivity to * an openflow switch in terms of Node, port, and VLAN. - * + * * @param networkAddr * IP address of the host * @param dataLayer @@ -1020,7 +1021,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * Port of the switch to which host is connected * @param vlan * Vlan of which this host is member of - * + * * @return Status The status object as described in {@code Status} * indicating the result of this action. */ @@ -1067,7 +1068,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * Update the controller IP to MAC binding of a host and its connectivity to * an openflow switch in terms of switch id, switch port, and VLAN. - * + * * @param networkAddr * IP address of the host * @param dataLayer @@ -1078,7 +1079,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * Port of the switch to which host is connected * @param vlan * Vlan of which this host is member of - * + * * @return boolean true if the host was added successfully, false otherwise */ public boolean updateHostReq(InetAddress networkAddr, @@ -1107,10 +1108,10 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * Remove from the controller IP to MAC binding of a host and its * connectivity to an openflow switch - * + * * @param networkAddr * IP address of the host - * + * * @return boolean true if the host was removed successfully, false * otherwise */ @@ -1160,17 +1161,12 @@ public class HostTracker implements IfIptoHost, IfHostListener, switch (type) { case REMOVED: - long sid = (Long) node.getID(); - if (logger.isDebugEnabled()) { - logger.debug("Received removedSwitch for sw id {}", - HexEncode.longToHexString(sid)); - } + logger.debug("Received removed node {}", node); for (Entry entry : hostsDB .entrySet()) { HostNodeConnector host = entry.getValue(); - if (host.getnodeconnectornodeId() == sid) { - logger.debug("Switch: {} is down, remove from Hosts_DB", - sid); + if (host.getnodeconnectorNode().equals(node)) { + logger.debug("Node: {} is down, remove from Hosts_DB", node); removeKnownHost(entry.getKey()); notifyHostLearnedOrRemoved(host, false); } @@ -1260,18 +1256,14 @@ public class HostTracker implements IfIptoHost, IfHostListener, } private void handleNodeConnectorStatusDown(NodeConnector nodeConnector) { - long sid = (Long) nodeConnector.getNode().getID(); - short port = (Short) nodeConnector.getID(); - logger.debug("handleNodeConnectorStatusDown {}", nodeConnector); for (Entry entry : hostsDB.entrySet()) { HostNodeConnector host = entry.getValue(); - if ((host.getnodeconnectornodeId() == sid) - && (host.getnodeconnectorportId() == port)) { + if (host.getnodeConnector().equals(nodeConnector)) { logger.debug( - "Switch: {}, Port: {} is down, remove from Hosts_DB", - sid, port); + " NodeConnector: {} is down, remove from Hosts_DB", + nodeConnector); removeKnownHost(entry.getKey()); notifyHostLearnedOrRemoved(host, false); } @@ -1311,7 +1303,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * Function called by the dependency manager when all the required * dependencies are satisfied - * + * */ void init(Component c) { Dictionary props = c.getServiceProperties(); @@ -1329,7 +1321,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * Function called by the dependency manager when at least one dependency * become unsatisfied or when the component is shutting down because for * example bundle is being stopped. - * + * */ void destroy() { destroyCache(); @@ -1338,7 +1330,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, /** * Function called by dependency manager after "init ()" is called and after * the services provided by the class are registered in the service registry - * + * */ void start() { } @@ -1347,7 +1339,7 @@ public class HostTracker implements IfIptoHost, IfHostListener, * Function called by the dependency manager before the services exported by * the component are unregistered, this will be followed by a "destroy ()" * calls - * + * */ void stop() { }