From ab381a37f537dba2b27d6977709783ab2fdcdf64 Mon Sep 17 00:00:00 2001 From: Wilson Ng <wilson.ng@bigswitch.com> Date: Wed, 4 Jul 2012 13:35:43 -0700 Subject: [PATCH] Move getLinkType() back into LinkDiscoveryManager and make it public. --- .../linkdiscovery/LinkInfo.java | 9 -------- .../internal/LinkDiscoveryManager.java | 21 ++++++++++++------- .../linkdiscovery/web/LinksResource.java | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java b/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java index d77df91b8..7c8d7491c 100644 --- a/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java +++ b/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java @@ -92,15 +92,6 @@ public class LinkInfo { public void setDstPortState(int dstPortState) { this.dstPortState = dstPortState; } - - public static ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) { - if (info.getUnicastValidTime() != null) { - return ILinkDiscovery.LinkType.DIRECT_LINK; - } else if (info.getMulticastValidTime() != null) { - return ILinkDiscovery.LinkType.MULTIHOP_LINK; - } - return ILinkDiscovery.LinkType.INVALID_LINK; - } /* (non-Javadoc) * @see java.lang.Object#hashCode() diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java index 537b0f288..37311e2f3 100644 --- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java +++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java @@ -216,8 +216,13 @@ public class LinkDiscoveryManager return shuttingDown; } - protected ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) { - return LinkInfo.getLinkType(lt, info); + public ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) { + if (info.getUnicastValidTime() != null) { + return ILinkDiscovery.LinkType.DIRECT_LINK; + } else if (info.getMulticastValidTime() != null) { + return ILinkDiscovery.LinkType.MULTIHOP_LINK; + } + return ILinkDiscovery.LinkType.INVALID_LINK; } private void doUpdatesThread() throws InterruptedException { @@ -616,7 +621,7 @@ public class LinkDiscoveryManager lt.getSrc().getPort(), lt.getDst().getPort(), newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), - LinkInfo.getLinkType(lt, newLinkInfo), + getLinkType(lt, newLinkInfo), EvAction.LINK_ADDED, "LLDP Recvd"); } else { // Since the link info is already there, we need to @@ -672,14 +677,14 @@ public class LinkDiscoveryManager lt.getSrc().getPort(), lt.getDst().getPort(), newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), - LinkInfo.getLinkType(lt, newLinkInfo), + getLinkType(lt, newLinkInfo), EvAction.LINK_PORT_STATE_UPDATED, "LLDP Recvd"); } } if (linkChanged) { - updates.add(new LDUpdate(lt, newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), LinkInfo.getLinkType(lt, newLinkInfo), updateOperation)); + updates.add(new LDUpdate(lt, newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), getLinkType(lt, newLinkInfo), updateOperation)); } } finally { lock.writeLock().unlock(); @@ -813,7 +818,7 @@ public class LinkDiscoveryManager // send an LDUpdate. updates.add(new LDUpdate(lt, linkInfo.getSrcPortState(), linkInfo.getDstPortState(), - LinkInfo.getLinkType(lt, linkInfo), + getLinkType(lt, linkInfo), UpdateOperation.ADD_OR_UPDATE)); writeLink(lt, linkInfo); linkInfoChanged = true; @@ -936,7 +941,7 @@ public class LinkDiscoveryManager } else if (linkChanged) { updates.add(new LDUpdate(lt, info.getSrcPortState(), info.getDstPortState(), - LinkInfo.getLinkType(lt, info), + getLinkType(lt, info), UpdateOperation.ADD_OR_UPDATE)); } } @@ -1073,7 +1078,7 @@ public class LinkDiscoveryManager rowValues.put(LINK_SRC_SWITCH, srcDpid); rowValues.put(LINK_SRC_PORT, lt.getSrc().getPort()); - LinkType type = (LinkInfo.getLinkType(lt, linkInfo)); + LinkType type = getLinkType(lt, linkInfo); if (type == LinkType.DIRECT_LINK) rowValues.put(LINK_TYPE, "internal"); else if (type == LinkType.MULTIHOP_LINK) diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java b/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java index 43761d141..e721e9904 100644 --- a/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java +++ b/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java @@ -21,7 +21,7 @@ public class LinksResource extends ServerResource { for (LinkTuple lt : linkSet) { LinkInfo info = topo.getLinkInfo(lt.getSrc(), true); LinkTuple withType = new LinkTuple(lt.getSrc(), lt.getDst()); - withType.setType(LinkInfo.getLinkType(lt, info)); + withType.setType(topo.getLinkType(lt, info)); links.add(withType); } } -- GitLab