Thomas Vachuska | 3d62fd7 | 2015-09-25 14:58:13 -0700 | [diff] [blame] | 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 |
Brian O'Connor | 5251562 | 2015-10-09 17:03:44 -0700 | [diff] [blame] | 20 | * @return new tunnel's id |
Thomas Vachuska | 3d62fd7 | 2015-09-25 14:58:13 -0700 | [diff] [blame] | 21 | */ |
| 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 | } |