Cleaned up some of the host-related abstractions and filled in more of the host manager implementation.
diff --git a/core/api/src/main/java/org/onlab/onos/net/Host.java b/core/api/src/main/java/org/onlab/onos/net/Host.java
index 17eaf22..d66566d 100644
--- a/core/api/src/main/java/org/onlab/onos/net/Host.java
+++ b/core/api/src/main/java/org/onlab/onos/net/Host.java
@@ -1,12 +1,35 @@
package org.onlab.onos.net;
+import org.onlab.packet.IPv4;
+import org.onlab.packet.MACAddress;
+
+import java.util.Set;
+
/**
* Abstraction of an end-station host on the network, essentially a NIC.
*/
public interface Host extends Element {
- // MAC, IP(s), optional VLAN ID
+ /**
+ * Host identification.
+ *
+ * @return host id
+ */
+ HostId id();
+ /**
+ * Returns the host MAC address.
+ *
+ * @return mac address
+ */
+ MACAddress mac();
+
+ /**
+ * Returns set of IP addresses currently bound to the host MAC address.
+ *
+ * @return set of IP addresses; empty if no IP address is bound
+ */
+ Set<IPv4> ipAddresses();
/**
* Returns the most recent host location where the host attaches to the
@@ -16,6 +39,6 @@
*/
HostLocation location();
- // list of recent locations?
+ // TODO: explore capturing list of recent locations to aid in mobility
}