From ae9ffb17f821735bae2eca8e8b74a849d9736562 Mon Sep 17 00:00:00 2001 From: Srinivasan Ramasubramanian <srini@bigswitch.com> Date: Wed, 28 Mar 2012 13:36:54 -0700 Subject: [PATCH] Rename isIncomingBroadcastAllowedOnSwitchPort to isIncomingBroadcastAllowed. --- .../forwarding/Forwarding.java | 2 +- .../topology/ITopologyService.java | 7 +++++-- .../topology/TopologyInstance.java | 6 ++++++ .../topology/TopologyManager.java | 16 +++++++++++----- .../forwarding/ForwardingTest.java | 2 +- 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java index c9b77d7c6..f8057e8d1 100644 --- a/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java +++ b/src/main/java/net/floodlightcontroller/forwarding/Forwarding.java @@ -196,7 +196,7 @@ public class Forwarding extends ForwardingBase implements IFloodlightModule { */ protected void doFlood(IOFSwitch sw, OFPacketIn pi, FloodlightContext cntx) { SwitchPortTuple srcSwTuple = new SwitchPortTuple(sw, pi.getInPort()); - if (topology.isIncomingBroadcastAllowedOnSwitchPort(sw.getId(),pi.getInPort()) == false) { + if (topology.isIncomingBroadcastAllowed(sw.getId(),pi.getInPort()) == false) { if (log.isTraceEnabled()) { log.trace("doFlood, drop broadcast packet, pi={}, from a blocked port, " + "srcSwitchTuple={}, linkInfo={}", new Object[] {pi, srcSwTuple}); diff --git a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java index ce39c2598..a0fd4cc03 100644 --- a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java +++ b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java @@ -38,10 +38,10 @@ public interface ITopologyService extends IFloodlightService { public void addListener(ITopologyListener listener); - + public boolean isBroadcastDomainPort(long sw, short port); - public boolean isIncomingBroadcastAllowedOnSwitchPort(long sw, short portId); + public boolean isIncomingBroadcastAllowed(long sw, short portId); public boolean isInSameBroadcastDomain(long s1, short p1, long s2, short p2); @@ -51,4 +51,7 @@ public interface ITopologyService extends IFloodlightService { public NodePortTuple getOutgoingSwitchPort(long src, short srcPort, long dst, short dstPort); + + public NodePortTuple getIncomingSwitchPort(long src, short srcPort, + long dst, short dstPort); } diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java index b1602d791..6e6a9e44f 100644 --- a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java +++ b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java @@ -542,6 +542,12 @@ public class TopologyInstance { return new NodePortTuple(dst, dstPort); } + public NodePortTuple getIncomingSwitchPort(long src, short srcPort, + long dst, short dstPort) { + // Use this function to reinject traffic from a different port if needed. + return new NodePortTuple(src, srcPort); + } + public Set<Long> getSwitches() { return switches; } diff --git a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java index 66bbcae6f..a15266aad 100644 --- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java +++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java @@ -366,7 +366,7 @@ IRoutingService, ILinkDiscoveryListener { } @Override - public boolean isIncomingBroadcastAllowedOnSwitchPort(long sw, short portId) { + public boolean isIncomingBroadcastAllowed(long sw, short portId) { return currentInstance.isIncomingBroadcastAllowedOnSwitchPort(sw, portId); } @@ -411,9 +411,15 @@ IRoutingService, ILinkDiscoveryListener { return currentInstance.getOutgoingSwitchPort(src, srcPort, dst, dstPort); } - @Override - public boolean isBroadcastDomainPort(long sw, short port) { - return currentInstance.isBroadcastDomainPort(new NodePortTuple(sw, port)); - } + @Override + public NodePortTuple getIncomingSwitchPort(long src, short srcPort, + long dst, short dstPort) { + return currentInstance.getIncomingSwitchPort(src, srcPort, dst, dstPort); + } + + @Override + public boolean isBroadcastDomainPort(long sw, short port) { + return currentInstance.isBroadcastDomainPort(new NodePortTuple(sw, port)); + } } diff --git a/src/test/java/net/floodlightcontroller/forwarding/ForwardingTest.java b/src/test/java/net/floodlightcontroller/forwarding/ForwardingTest.java index 3b7e2f830..4416ccc2a 100644 --- a/src/test/java/net/floodlightcontroller/forwarding/ForwardingTest.java +++ b/src/test/java/net/floodlightcontroller/forwarding/ForwardingTest.java @@ -291,7 +291,7 @@ public class ForwardingTest extends FloodlightTestCase { // expect no Flow-mod or packet out // Reset mocks, trigger the packet in, and validate results - expect(topology.isIncomingBroadcastAllowedOnSwitchPort(1L, (short)1)).andReturn(true).anyTimes(); + expect(topology.isIncomingBroadcastAllowed(1L, (short)1)).andReturn(true).anyTimes(); replay(sw1, sw2, deviceManager, routingEngine, topology); forwarding.receive(sw1, this.packetIn, cntx); verify(sw1, sw2,deviceManager, routingEngine); -- GitLab