diff --git a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
index a7f087b85c3371522a59bca1dc89d1ad1d49268f..0ad848996a5e2f9c22fab0d0bc31b4ef1ace9ee8 100644
--- a/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
+++ b/src/main/java/net/floodlightcontroller/topology/ITopologyService.java
@@ -16,7 +16,7 @@ public interface ITopologyService extends IFloodlightService  {
     public boolean isInternal(long switchid, short port);
 
     public long getSwitchClusterId(long switchId);
-    
+
     /**
      * Retrieves a set of all the switches in the same cluster as sw.
      * A cluster is a set of switches that are directly or indirectly
@@ -27,7 +27,7 @@ public interface ITopologyService extends IFloodlightService  {
      * @return Set of switches in the cluster
      */
     public Set<Long> getSwitchesInCluster(long switchId);
-    
+
     /**
      * Queries whether two switches are in the same cluster.
      * @param switch1
@@ -36,9 +36,9 @@ public interface ITopologyService extends IFloodlightService  {
      */
     public boolean inSameCluster(long switch1, long switch2);
 
-    
+
     public void addListener(ITopologyListener listener);
-    
+
     public boolean isIncomingBroadcastAllowedOnSwitchPort(long sw, short portId);
 
     public boolean isInSameBroadcastDomain(long s1, short p1, long s2, short p2);
@@ -46,4 +46,7 @@ public interface ITopologyService extends IFloodlightService  {
     public Set<Short> getPorts(long sw);
 
     public Set<Short> getBroadcastPorts(long targetSw, long src, short srcPort);
+
+    public NodePortTuple getOutgoingSwitchPort(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 4038cb4208613d1d6ea2b9cb299658134ef50abc..b1602d79172912140d62403c74cf41ce254e756f 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyInstance.java
@@ -532,6 +532,16 @@ public class TopologyInstance {
         return clusterBroadcastNodePorts.get(clusterId);
     }
 
+    public boolean isInSameBroadcastDomain(long s1, short p1, long s2, short p2) {
+        return false;
+    }
+
+    public NodePortTuple getOutgoingSwitchPort(long src, short srcPort,
+                                               long dst, short dstPort) {
+        // Use this function to redirect traffic if needed.
+        return new NodePortTuple(dst, dstPort);
+    }
+
     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 0c3733c4574f5bf9d2f9d6369bd3fd93e676b910..e36d08df2001fd4e6a7187017fd46f7aacbdb1ad 100644
--- a/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
+++ b/src/main/java/net/floodlightcontroller/topology/TopologyManager.java
@@ -399,8 +399,15 @@ IRoutingService, ILinkDiscoveryListener {
 
     @Override
     public boolean isInSameBroadcastDomain(long s1, short p1, long s2, short p2) {
-        // TODO Auto-generated method stub
-        return false;
+        return currentInstance.isInSameBroadcastDomain(s1, p1, s2, p2);
+
+    }
+
+    @Override
+    public NodePortTuple getOutgoingSwitchPort(long src, short srcPort,
+                                               long dst, short dstPort) {
+        // Use this function to redirect traffic if needed.
+        return currentInstance.getOutgoingSwitchPort(src, srcPort, dst, dstPort);
     }
 }