blob: bf4a4855db1f1b0541a8e8e64e208950447e63b6 [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
Brian O'Connor52515622015-10-09 17:03:44 -070020 * @return new tunnel's id
Thomas Vachuska3d62fd72015-09-25 14:58:13 -070021 */
22 TunnelId createTunnel(NetworkId networkId, ConnectPoint src, ConnectPoint dst);
23
24 /**
25 * Destroys the specified network tunnel.
26 *
27 * @param networkId virtual network identifier
28 * @param tunnelId tunnel identifier
29 */
30 void destroyTunnel(NetworkId networkId, TunnelId tunnelId);
31
32}