blob: 62a4c9a8ebd441e2f62c33399796a8dd41c46602 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.host;
2
Ayaka Koshibe74a23922014-09-09 16:45:39 -07003import java.util.Set;
4
5import org.onlab.onos.net.Description;
6import org.onlab.onos.net.HostLocation;
7import org.onlab.packet.IPv4;
8import org.onlab.packet.MACAddress;
9
tom0eb04ca2014-08-25 14:34:51 -070010/**
11 * Information describing host and its location.
12 */
Ayaka Koshibe74a23922014-09-09 16:45:39 -070013public interface HostDescription extends Description {
tom0eb04ca2014-08-25 14:34:51 -070014
Ayaka Koshibe74a23922014-09-09 16:45:39 -070015 /**
16 * Returns the MAC address associated with this host (NIC).
17 *
18 * @return the MAC address of this host
19 */
20 MACAddress hwAddress();
21
22 /**
23 * Returns the VLAN associated with this host.
24 *
25 * @return the VLAN ID value
26 */
27 short vlan();
28
29 /**
30 * Returns the location of the host on the network edge.
31 *
32 * @return the network location
33 */
34 HostLocation location();
35
36 /**
37 * Returns zero or more IP address(es) associated with this host's MAC.
38 *
39 * @return a set of IP addresses.
40 */
41 Set<IPv4> ipAddresses();
tom0eb04ca2014-08-25 14:34:51 -070042
43}