package org.onlab.onos.net;

import org.onlab.onos.net.provider.Provided;

/**
 * Abstraction of an end-station host on the network, essentially a NIC.
 */
public interface Host extends Provided {

    // MAC, IP(s), optional VLAN ID

    // Location (current, recent locations?

}
