Cherry-pick from https://gerrit.onos.onlab.us/#/c/341/
Cherry-pick from https://gerrit.onos.onlab.us/#/c/326/
Fixed a bug that ARP reply is sometimes not forwarded by ProxyArpManager (related to ONOS-1002).
Change-Id: I5329a89ecccaa88be3080d2fd6b1183419e24562
diff --git a/src/main/java/net/onrc/onos/datagrid/HazelcastDatagrid.java b/src/main/java/net/onrc/onos/datagrid/HazelcastDatagrid.java
index 8d797e7..fae09ec 100755
--- a/src/main/java/net/onrc/onos/datagrid/HazelcastDatagrid.java
+++ b/src/main/java/net/onrc/onos/datagrid/HazelcastDatagrid.java
@@ -589,18 +589,24 @@
*/
@Override
public void entryAdded(EntryEvent<ArpReplyNotification, byte[]> event) {
- for (IArpReplyEventHandler arpReplyEventHandler : arpReplyEventHandlers) {
- arpReplyEventHandler.arpReplyEvent(event.getKey());
- }
+ triggerEventHandler(event.getKey());
+ }
+ @Override
+ public void entryUpdated(EntryEvent<ArpReplyNotification, byte[]> event) {
+ triggerEventHandler(event.getKey());
}
// These methods aren't used for ARP replies
@Override
public void entryRemoved(EntryEvent<ArpReplyNotification, byte[]> event) {}
@Override
- public void entryUpdated(EntryEvent<ArpReplyNotification, byte[]> event) {}
- @Override
public void entryEvicted(EntryEvent<ArpReplyNotification, byte[]> event) {}
+
+ private void triggerEventHandler(ArpReplyNotification notification) {
+ for (IArpReplyEventHandler arpReplyEventHandler : arpReplyEventHandlers) {
+ arpReplyEventHandler.arpReplyEvent(notification);
+ }
+ }
}
/**