blob: 8e5b19a5923a2c6858c14e568181ca30624d86e3 [file] [log] [blame]
Thomas Vachuska3d62fd72015-09-25 14:58:13 -07001package org.onosproject.incubator.net.virtual;
2
3import org.onosproject.incubator.net.tunnel.TunnelId;
4import org.onosproject.net.ConnectPoint;
5import org.onosproject.net.provider.Provider;
6
7/**
8 * Entity capable of providing traffic isolation constructs for use in
9 * implementation of virtual devices and virtual links.
10 */
11public interface VirtualNetworkProvider extends Provider {
12
13 /**
14 * Creates a network tunnel for all traffic from the specified source
15 * connection point to the indicated destination connection point.
16 *
17 * @param networkId virtual network identifier
18 * @param src source connection point
19 * @param dst destination connection point
20 */
21 TunnelId createTunnel(NetworkId networkId, ConnectPoint src, ConnectPoint dst);
22
23 /**
24 * Destroys the specified network tunnel.
25 *
26 * @param networkId virtual network identifier
27 * @param tunnelId tunnel identifier
28 */
29 void destroyTunnel(NetworkId networkId, TunnelId tunnelId);
30
31}