Changes to ARP, Forwarding, and OnosDeviceManager to make reactive forwarding more reliable
diff --git a/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java b/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
index 4b2b087..02972e2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/forwarding/Forwarding.java
@@ -249,13 +249,17 @@
destinationMac);
if (deviceObject == null) {
- log.debug("No device entry found for {}", destinationMac);
+ log.debug("No device entry found for {} - broadcasting packet",
+ destinationMac);
+ handleBroadcast(sw, pi, eth);
return;
}
Iterator<IPortObject> ports = deviceObject.getAttachedPorts().iterator();
if (!ports.hasNext()) {
- log.debug("No attachment point found for device {}", destinationMac);
+ log.debug("No attachment point found for device {} - broadcasting packet",
+ destinationMac);
+ handleBroadcast(sw, pi, eth);
return;
}
IPortObject portObject = ports.next();