8e5b19a5923a2c6858c14e568181ca30624d86e3
[onosfw.git] /
1 package org.onosproject.incubator.net.virtual;
2
3 import org.onosproject.incubator.net.tunnel.TunnelId;
4 import org.onosproject.net.ConnectPoint;
5 import 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  */
11 public 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 }