blob: 8e5b19a5923a2c6858c14e568181ca30624d86e3 [file] [log] [blame]
package org.onosproject.incubator.net.virtual;
import org.onosproject.incubator.net.tunnel.TunnelId;
import org.onosproject.net.ConnectPoint;
import org.onosproject.net.provider.Provider;
/**
* Entity capable of providing traffic isolation constructs for use in
* implementation of virtual devices and virtual links.
*/
public interface VirtualNetworkProvider extends Provider {
/**
* Creates a network tunnel for all traffic from the specified source
* connection point to the indicated destination connection point.
*
* @param networkId virtual network identifier
* @param src source connection point
* @param dst destination connection point
*/
TunnelId createTunnel(NetworkId networkId, ConnectPoint src, ConnectPoint dst);
/**
* Destroys the specified network tunnel.
*
* @param networkId virtual network identifier
* @param tunnelId tunnel identifier
*/
void destroyTunnel(NetworkId networkId, TunnelId tunnelId);
}