blob: f45a383bab171d73121de49fd6c0e367faf4e261 [file] [log] [blame]
tom0eb04ca2014-08-25 14:34:51 -07001package org.onlab.onos.net.host;
2
Ayaka Koshibe74a23922014-09-09 16:45:39 -07003import org.onlab.onos.net.Description;
4import org.onlab.onos.net.HostLocation;
Ayaka Koshibe1d56fe42014-09-19 16:51:58 -07005import org.onlab.packet.IpPrefix;
Ayaka Koshibea9c199f2014-09-16 16:21:40 -07006import org.onlab.packet.MacAddress;
7import org.onlab.packet.VlanId;
Ayaka Koshibe74a23922014-09-09 16:45:39 -07008
tom0eb04ca2014-08-25 14:34:51 -07009/**
10 * Information describing host and its location.
11 */
Ayaka Koshibe74a23922014-09-09 16:45:39 -070012public interface HostDescription extends Description {
tom0eb04ca2014-08-25 14:34:51 -070013
Ayaka Koshibe74a23922014-09-09 16:45:39 -070014 /**
15 * Returns the MAC address associated with this host (NIC).
16 *
17 * @return the MAC address of this host
18 */
Ayaka Koshibea9c199f2014-09-16 16:21:40 -070019 MacAddress hwAddress();
Ayaka Koshibe74a23922014-09-09 16:45:39 -070020
21 /**
22 * Returns the VLAN associated with this host.
23 *
24 * @return the VLAN ID value
25 */
Ayaka Koshibea9c199f2014-09-16 16:21:40 -070026 VlanId vlan();
Ayaka Koshibe74a23922014-09-09 16:45:39 -070027
28 /**
29 * Returns the location of the host on the network edge.
30 *
31 * @return the network location
32 */
33 HostLocation location();
34
35 /**
tom093340b2014-10-10 00:15:36 -070036 * Returns the IP address associated with this host's MAC.
Ayaka Koshibe74a23922014-09-09 16:45:39 -070037 *
tom093340b2014-10-10 00:15:36 -070038 * @return host IP address
Ayaka Koshibe74a23922014-09-09 16:45:39 -070039 */
tom093340b2014-10-10 00:15:36 -070040 IpPrefix ipAddress();
tom0eb04ca2014-08-25 14:34:51 -070041
42}