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);
+		    }
+		}
     }
 
     /**