Changed PortAddress API to allow multiple IP addresses per port
diff --git a/core/net/src/main/java/org/onlab/onos/net/host/impl/DefaultPortAddresses.java b/core/net/src/main/java/org/onlab/onos/net/host/impl/DefaultPortAddresses.java
deleted file mode 100644
index fb656cf..0000000
--- a/core/net/src/main/java/org/onlab/onos/net/host/impl/DefaultPortAddresses.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.onlab.onos.net.host.impl;
-
-import org.onlab.onos.net.ConnectPoint;
-import org.onlab.onos.net.host.PortAddresses;
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.MacAddress;
-
-public class DefaultPortAddresses implements PortAddresses {
-
-    private final ConnectPoint connectPoint;
-    private final IpAddress ipAddress;
-    private final MacAddress macAddress;
-
-    public DefaultPortAddresses(ConnectPoint connectPoint,
-            IpAddress ip, MacAddress mac) {
-        this.connectPoint = connectPoint;
-        this.ipAddress = ip;
-        this.macAddress = mac;
-    }
-
-    @Override
-    public ConnectPoint connectPoint() {
-        return connectPoint;
-    }
-
-    @Override
-    public IpAddress ip() {
-        return ipAddress;
-    }
-
-    @Override
-    public MacAddress mac() {
-        return macAddress;
-    }
-
-}
diff --git a/core/net/src/main/java/org/onlab/onos/net/host/impl/HostManager.java b/core/net/src/main/java/org/onlab/onos/net/host/impl/HostManager.java
index 3c1a499..9b8ecf7 100644
--- a/core/net/src/main/java/org/onlab/onos/net/host/impl/HostManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/host/impl/HostManager.java
@@ -155,14 +155,18 @@
     }
 
     @Override
-    public void bindAddressesToPort(IpAddress ip, MacAddress mac,
-            ConnectPoint connectPoint) {
-        store.updateAddressBindings(new DefaultPortAddresses(connectPoint, ip, mac));
+    public void bindAddressesToPort(PortAddresses addresses) {
+        store.updateAddressBindings(addresses);
     }
 
     @Override
-    public void unbindAddressesFromPort(ConnectPoint connectPoint) {
-        store.removeAddressBindings(connectPoint);
+    public void unbindAddressesFromPort(PortAddresses portAddresses) {
+        store.removeAddressBindings(portAddresses);
+    }
+
+    @Override
+    public void clearAddresses(ConnectPoint connectPoint) {
+        store.clearAddressBindings(connectPoint);
     }
 
     @Override
diff --git a/core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java b/core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java
index f27cd78..71d1130 100644
--- a/core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java
+++ b/core/net/src/main/java/org/onlab/onos/net/host/impl/HostMonitor.java
@@ -128,9 +128,11 @@
                 ConnectPoint cp = new ConnectPoint(device.id(), port.number());
                 PortAddresses addresses = hostStore.getAddressBindingsForPort(cp);
 
-                if (addresses.ip().contains(targetIp)) {
-                    sendProbe(device.id(), port, addresses, targetIp);
-                }
+                /*for (IpPrefix prefix : addresses.ips()) {
+                    if (prefix.contains(targetIp)) {
+                        sendProbe(device.id(), port, addresses, targetIp);
+                    }
+                }*/
             }
         }
 
@@ -173,7 +175,7 @@
         }
 
         arp.setSenderHardwareAddress(sourceMacAddress)
-           .setSenderProtocolAddress(portAddresses.ip().toOctets())
+           //TODO .setSenderProtocolAddress(portAddresses.ips().toOctets())
            .setTargetHardwareAddress(ZERO_MAC_ADDRESS)
            .setTargetProtocolAddress(targetIp.toOctets());