Began implementation of the a host monitor
diff --git a/core/api/src/main/java/org/onlab/onos/net/DefaultPort.java b/core/api/src/main/java/org/onlab/onos/net/DefaultPort.java
index c6d6cb3..d2570b6 100644
--- a/core/api/src/main/java/org/onlab/onos/net/DefaultPort.java
+++ b/core/api/src/main/java/org/onlab/onos/net/DefaultPort.java
@@ -6,7 +6,7 @@
 import java.util.Objects;
 import java.util.Set;
 
-import org.onlab.packet.IpAddress;
+import org.onlab.packet.IpPrefix;
 
 /**
  * Default port implementation.
@@ -18,7 +18,7 @@
     private final boolean isEnabled;
 
     // Attributes
-    private final Set<IpAddress> ipAddresses;
+    private final Set<IpPrefix> ipAddresses;
 
     /**
      * Creates a network element attributed to the specified provider.
@@ -41,7 +41,7 @@
      * @param ipAddresses set of IP addresses assigned to the port
      */
     public DefaultPort(Element element, PortNumber number,
-                       boolean isEnabled, Set<IpAddress> ipAddresses) {
+                       boolean isEnabled, Set<IpPrefix> ipAddresses) {
         this.element = element;
         this.number = number;
         this.isEnabled = isEnabled;
@@ -90,7 +90,7 @@
     }
 
     @Override
-    public Set<IpAddress> ipAddresses() {
+    public Set<IpPrefix> ipAddresses() {
         return ipAddresses;
     }
 
diff --git a/core/api/src/main/java/org/onlab/onos/net/Port.java b/core/api/src/main/java/org/onlab/onos/net/Port.java
index aab10d7..45b816b 100644
--- a/core/api/src/main/java/org/onlab/onos/net/Port.java
+++ b/core/api/src/main/java/org/onlab/onos/net/Port.java
@@ -2,7 +2,7 @@
 
 import java.util.Set;
 
-import org.onlab.packet.IpAddress;
+import org.onlab.packet.IpPrefix;
 
 /**
  * Abstraction of a network port.
@@ -39,5 +39,5 @@
      * @return the set of IP addresses configured on the port. The set is empty
      * if no addresses are configured.
      */
-    Set<IpAddress> ipAddresses();
+    Set<IpPrefix> ipAddresses();
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
index 39f63c0..3717bea 100644
--- a/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
+++ b/core/api/src/main/java/org/onlab/onos/net/host/HostService.java
@@ -1,5 +1,7 @@
 package org.onlab.onos.net.host;
 
+import java.util.Set;
+
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.DeviceId;
 import org.onlab.onos.net.Host;
@@ -8,8 +10,6 @@
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 
-import java.util.Set;
-
 /**
  * Service for interacting with the inventory of end-station hosts.
  */
@@ -82,6 +82,22 @@
     Set<Host> getConnectedHosts(DeviceId deviceId);
 
     /**
+     * Requests the host service to monitor hosts with the given IP address and
+     * notify listeners of changes.
+     *
+     * @param ip IP address of the host to monitor
+     */
+    void monitorIp(IpPrefix ip);
+
+    /**
+     * Stops the host service from monitoring an IP address.
+     *
+     * @param ip IP address to stop monitoring
+     */
+    // TODO clients can cancel other client's requests
+    void stopMonitoringIp(IpPrefix ip);
+
+    /**
      * Adds the specified host listener.
      *
      * @param listener host listener
diff --git a/core/api/src/test/java/org/onlab/onos/net/host/HostServiceAdapter.java b/core/api/src/test/java/org/onlab/onos/net/host/HostServiceAdapter.java
index 682e349..6a270cd 100644
--- a/core/api/src/test/java/org/onlab/onos/net/host/HostServiceAdapter.java
+++ b/core/api/src/test/java/org/onlab/onos/net/host/HostServiceAdapter.java
@@ -1,5 +1,7 @@
 package org.onlab.onos.net.host;
 
+import java.util.Set;
+
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.DeviceId;
 import org.onlab.onos.net.Host;
@@ -8,8 +10,6 @@
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 
-import java.util.Set;
-
 /**
  * Test adapter for host service.
  */
@@ -55,6 +55,14 @@
     }
 
     @Override
+    public void monitorIp(IpPrefix ip) {
+    }
+
+    @Override
+    public void stopMonitoringIp(IpPrefix ip) {
+    }
+
+    @Override
     public void addListener(HostListener listener) {
     }