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