diff --git a/src/main/java/net/onrc/onos/apps/proxyarp/ArpCacheNotification.java b/src/main/java/net/onrc/onos/apps/proxyarp/ArpCacheNotification.java
new file mode 100644
index 0000000..3eef171
--- /dev/null
+++ b/src/main/java/net/onrc/onos/apps/proxyarp/ArpCacheNotification.java
@@ -0,0 +1,47 @@
+package net.onrc.onos.apps.proxyarp;
+
+
+/**
+ * Inter-instance notification that an ARP Cache status has been changed.
+ */
+public class ArpCacheNotification {
+
+    private byte[] targetAddress;
+    private byte[] targetMacAddress;
+
+    private ArpCacheNotification() {
+        targetAddress = null;
+        targetMacAddress = null;
+    }
+
+    /**
+     * Class constructor.
+     *
+     * @param targetAddress    IP address
+     * @param targetMacAddress MAC address
+     */
+    public ArpCacheNotification(byte[] targetAddress,
+                                byte[] targetMacAddress) {
+        this.targetAddress = (byte[]) targetAddress.clone();
+        this.targetMacAddress = (byte[]) targetMacAddress.clone();
+    }
+
+    /**
+     * Returns the IP address.
+     *
+     * @return the IP address
+     */
+    public byte[] getTargetAddress() {
+        return (byte[]) targetAddress.clone();
+    }
+
+    /**
+     * Returns the MAC address.
+     *
+     * @return the MAC address
+     */
+    public byte[] getTargetMacAddress() {
+        return (byte[]) targetMacAddress.clone();
+    }
+
+}
