Enable ARP handling across multiple instances disabling local ARP handling and turning on the Hazelcast ARP reply notification handler in ProxyArpManager
diff --git a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
index ac99678..5d8ddf2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/ProxyArpManager.java
@@ -187,6 +187,7 @@
floodlightProvider.addOFMessageListener(OFType.PACKET_IN, this);
datagrid.registerPacketOutEventHandler(this);
+ datagrid.registerArpReplyEventHandler(this);
deviceStorage = new DeviceStorageImpl();
deviceStorage.init("");
@@ -295,8 +296,10 @@
handleArpRequest(sw, pi, arp, eth);
}
else if (arp.getOpCode() == ARP.OP_REPLY) {
- handleArpReply(sw, pi, arp);
+ // For replies we simply send a notification via Hazelcast
sendArpReplyNotification(eth, pi);
+
+ //handleArpReply(sw, pi, arp);
}
// Stop ARP packets here