ONOS-3633 - Virtual network provider service API definitions.

Change-Id: I919171aa9ad38b34954f0eed57341030e01ed7a4
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/VirtualNetworkProviderService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/VirtualNetworkProviderService.java
index e4bff05..6cc4ad8 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/VirtualNetworkProviderService.java
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/virtual/VirtualNetworkProviderService.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.incubator.net.virtual;
 
+import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.provider.ProviderService;
 
 /**
@@ -22,5 +23,24 @@
  * the core.
  */
 public interface VirtualNetworkProviderService extends ProviderService<VirtualNetworkProvider> {
-    // TODO: Add methods for notification of core about damaged tunnels, etc.
+
+    /**
+     * This method is used to notify the VirtualNetwork service that a tunnel is now ACTIVE.
+     *
+     * @param networkId network identifier
+     * @param src       source connection point
+     * @param dst       destination connection point
+     */
+    void tunnelUp(NetworkId networkId, ConnectPoint src, ConnectPoint dst);
+
+    /**
+     * This method is used to notify the VirtualNetwork service that a tunnel is now
+     * FAILED or INACTIVE.
+     *
+     * @param networkId network identifier
+     * @param src       source connection point
+     * @param dst       destination connection point
+     */
+    void tunnelDown(NetworkId networkId, ConnectPoint src, ConnectPoint dst);
+
 }
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
index b1b68a1..012b250 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/virtual/impl/VirtualNetworkManager.java
@@ -249,6 +249,16 @@
         InternalVirtualNetworkProviderService(VirtualNetworkProvider provider) {
             super(provider);
         }
+
+        @Override
+        public void tunnelUp(NetworkId networkId, ConnectPoint src, ConnectPoint dst) {
+
+        }
+
+        @Override
+        public void tunnelDown(NetworkId networkId, ConnectPoint src, ConnectPoint dst) {
+
+        }
     }
 
 }
diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/PtToPtIntentVirtualNetworkProviderTest.java b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/PtToPtIntentVirtualNetworkProviderTest.java
index 2f2926b..4bc96d5 100644
--- a/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/PtToPtIntentVirtualNetworkProviderTest.java
+++ b/incubator/net/src/test/java/org/onosproject/incubator/net/virtual/impl/PtToPtIntentVirtualNetworkProviderTest.java
@@ -174,6 +174,16 @@
         protected TestVirtualNetworkProviderService(VirtualNetworkProvider provider) {
             super(provider);
         }
+
+        @Override
+        public void tunnelUp(NetworkId networkId, ConnectPoint src, ConnectPoint dst) {
+
+        }
+
+        @Override
+        public void tunnelDown(NetworkId networkId, ConnectPoint src, ConnectPoint dst) {
+
+        }
     }