| package net.floodlightcontroller.virtualnetwork; |
| |
| import java.util.Collection; |
| import net.floodlightcontroller.core.module.IFloodlightService; |
| import net.floodlightcontroller.util.MACAddress; |
| |
| public interface IVirtualNetworkService extends IFloodlightService { |
| /** |
| * Creates a new virtual network. This can also be called |
| * to modify a virtual network. To update a network you specify the GUID |
| * and the fields you want to update. |
| * @param network The network name. Must be unique. |
| * @param guid The ID of the network. Must be unique. |
| * @param gateway The IP address of the network gateway, null if none. |
| */ |
| public void createNetwork(String guid, String network, Integer gateway); |
| |
| /** |
| * Deletes a virtual network. |
| * @param guid The ID (not name) of virtual network to delete. |
| */ |
| public void deleteNetwork(String guid); |
| |
| /** |
| * Adds a host to a virtual network. If a mapping already exists the |
| * new one will override the old mapping. |
| * @param mac The MAC address of the host to add. |
| * @param network The network to add the host to. |
| * @param port The logical port name to attach the host to. Must be unique. |
| */ |
| public void addHost(MACAddress mac, String network, String port); |
| |
| /** |
| * Deletes a host from a virtual network. Either the MAC or Port must |
| * be specified. |
| * @param mac The MAC address to delete. |
| * @param port The logical port the host is attached to. |
| */ |
| public void deleteHost(MACAddress mac, String port); |
| |
| /** |
| * Return list of all virtual networks. |
| * @return Collection <VirtualNetwork> |
| */ |
| public Collection <VirtualNetwork> listNetworks(); |
| } |