From 508c65f02fe49319ce4b0b40dbf0f2193ddc899f Mon Sep 17 00:00:00 2001 From: Kanzhe Jiang <kanzhe.jiang@bigswitch.com> Date: Sat, 31 Mar 2012 16:46:30 -0700 Subject: [PATCH] Topology service can provide alternative broadcast port given a src/dst pair --- .../floodlightcontroller/topology/ITopologyService.java | 9 +++++++++ .../floodlightcontroller/topology/TopologyManager.java | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java index ebc3a7618..eba4ada8d 100644 --- a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java +++ b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java @@ -43,6 +43,15 @@ public interface ITopologyService extends IFloodlightService { public boolean isAllowed(long sw, short portId); + /** + * If the dst is not allowed by the higher-level topology, this method provides + * the topologically equivalent broadcast port. + * @param src + * @param dst + * @return the allowed broadcast port + */ + public NodePortTuple getAllowedOutgoingBroadcastPort(NodePortTuple src, NodePortTuple dst); + public boolean isIncomingBroadcastAllowed(long sw, short portId); public boolean isInSameBroadcastDomain(long s1, short p1, long s2, short p2); diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java index cd0392a3d..e36ef9411 100644 --- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java +++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java @@ -370,6 +370,11 @@ IRoutingService, ILinkDiscoveryListener { return currentInstance.isAllowed(sw, portId); } + @Override + public NodePortTuple getAllowedOutgoingBroadcastPort(NodePortTuple src, NodePortTuple dst) { + return null; + } + @Override public boolean isIncomingBroadcastAllowed(long sw, short portId) { return currentInstance.isIncomingBroadcastAllowedOnSwitchPort(sw, portId); -- GitLab