Cherry-pick from https://gerrit.onos.onlab.us/#/c/338/

Lower the frequency of bug that PacketIn doesn't occur. (ONOS-1002)

Fixed a bug ProxyArpManager frequently deletes device from DB.

Change-Id: Ida1f8e36dee201b8d8dbd40325a2ee4a5c8736be

Fix compilation failure.

Change-Id: I0c3e253c6caa6f6b5315b30f2a647bb45d9c6b36
diff --git a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/BroadcastPacketOutNotification.java b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/BroadcastPacketOutNotification.java
index 73d2163..135c061 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/proxyarp/BroadcastPacketOutNotification.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/proxyarp/BroadcastPacketOutNotification.java
@@ -1,5 +1,8 @@
 package net.onrc.onos.ofcontroller.proxyarp;
 
+import java.net.InetAddress;
+
+//TODO This class is too generic to be handled by ProxyArpService.
 /**
  * Notification to all ONOS instances to broadcast this packet out the edge of
  * the network. The edge is defined as any port that doesn't have a link to
@@ -12,13 +15,15 @@
 	
 	private static final long serialVersionUID = 1L;
 	
+	private final InetAddress address;
 	private final long inSwitch;
 	private final short inPort;
 
-	public BroadcastPacketOutNotification(byte[] packet, long inSwitch, 
-			short inPort) {
+	public BroadcastPacketOutNotification(byte[] packet, InetAddress address,
+			long inSwitch, short inPort) {
 		super(packet);
 		
+		this.address = address;
 		this.inSwitch = inSwitch;
 		this.inPort = inPort;
 	}
@@ -31,4 +36,7 @@
 		return inPort;
 	}
 
+	public InetAddress getTargetAddress() {
+		return address;
+	}
 }