blob: 38cfa2e0b47c9bbcafad7c08b45b134aecf34e0a [file] [log] [blame]
tom89b63c52014-09-16 09:19:51 -07001package org.onlab.onos.net.host;
2
Jonathan Hartac60c082014-09-23 08:55:17 -07003import org.onlab.onos.net.ConnectPoint;
tom89b63c52014-09-16 09:19:51 -07004import org.onlab.onos.net.HostId;
5
6/**
7 * Service for administering the inventory of end-station hosts.
8 */
9public interface HostAdminService {
10
11 /**
12 * Removes the end-station host with the specified identifier.
13 *
14 * @param hostId host identifier
15 */
16 void removeHost(HostId hostId);
17
Jonathan Hartac60c082014-09-23 08:55:17 -070018 /**
Jonathan Hart09585c62014-09-23 16:58:04 -070019 * Binds IP and MAC addresses to the given connection point.
Jonathan Hartac60c082014-09-23 08:55:17 -070020 * <p/>
Jonathan Hart09585c62014-09-23 16:58:04 -070021 * The addresses are added to the set of addresses already bound to the
22 * connection point. If any of the fields in addresses is null, no change
23 * is made to the corresponding addresses in the store.
24 * {@link #unbindAddressesFromPort(PortAddresses)} must be use to unbind
25 * addresses that have previously been bound.
Jonathan Hartac60c082014-09-23 08:55:17 -070026 *
Jonathan Hart09585c62014-09-23 16:58:04 -070027 * @param addresses address object containing addresses to add and the port
28 * to add them to
Jonathan Hartac60c082014-09-23 08:55:17 -070029 */
Jonathan Hart09585c62014-09-23 16:58:04 -070030 void bindAddressesToPort(PortAddresses addresses);
31
32 /**
33 * Removes the addresses contained in the given PortAddresses object from
34 * the set of addresses bound to the port.
35 *
36 * @param portAddresses set of addresses to remove and port to remove them
37 * from
38 */
39 void unbindAddressesFromPort(PortAddresses portAddresses);
Jonathan Hartac60c082014-09-23 08:55:17 -070040
41 /**
42 * Removes all address information for the given connection point.
43 *
44 * @param connectPoint the connection point to remove address information
45 */
Jonathan Hart09585c62014-09-23 16:58:04 -070046 void clearAddresses(ConnectPoint connectPoint);
Jonathan Hartac60c082014-09-23 08:55:17 -070047
tom89b63c52014-09-16 09:19:51 -070048}