diff --git a/apps/dhcprelay/pom.xml b/apps/dhcprelay/pom.xml
index 782e1b0..5e9d68e 100644
--- a/apps/dhcprelay/pom.xml
+++ b/apps/dhcprelay/pom.xml
@@ -81,13 +81,6 @@
         </dependency>
 
         <dependency>
-            <groupId>org.onosproject</groupId>
-            <artifactId>onos-incubator-api</artifactId>
-            <version>${project.version}</version>
-            <classifier>tests</classifier>
-        </dependency>
-
-        <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr.annotations</artifactId>
             <scope>provided</scope>
diff --git a/apps/evpn-route-service/BUCK b/apps/evpn-route-service/BUCK
new file mode 100644
index 0000000..5c8b037
--- /dev/null
+++ b/apps/evpn-route-service/BUCK
@@ -0,0 +1,11 @@
+BUNDLES = [
+    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
+    '//apps/evpn-route-service/app:onos-apps-evpn-route-service-app',
+]
+
+onos_app (
+    title = 'EVPN Routing App',
+    category = 'Utility',
+    url = 'http://onosproject.org',
+    included_bundles = BUNDLES,
+)
diff --git a/apps/evpn-route-service/api/BUCK b/apps/evpn-route-service/api/BUCK
new file mode 100644
index 0000000..68eeacf
--- /dev/null
+++ b/apps/evpn-route-service/api/BUCK
@@ -0,0 +1,13 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+    '//core/api:onos-api-tests',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+)
diff --git a/apps/evpn-route-service/api/pom.xml b/apps/evpn-route-service/api/pom.xml
new file mode 100644
index 0000000..25113e7
--- /dev/null
+++ b/apps/evpn-route-service/api/pom.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017-present Open Networking Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>onos-app-evpn-route-service</artifactId>
+        <groupId>org.onosproject</groupId>
+        <version>1.11.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-app-evpn-route-service-api</artifactId>
+    <packaging>bundle</packaging>
+
+    <url>http://onosproject.org</url>
+
+    <description>EVPN Routing Application API</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-core-serializers</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-incubator-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+
+</project>
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstance.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstance.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstance.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstance.java
index 4201909..5288db7 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstance.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstance.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceName.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceName.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceName.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceName.java
index ee63cf4..f1ea22a 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceName.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceName.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceNextHop.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceNextHop.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceNextHop.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceNextHop.java
index 4acd2b3..49ad2c5 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceNextHop.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceNextHop.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onlab.packet.IpAddress;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
+import org.onlab.packet.IpAddress;
+
 import static com.google.common.base.MoreObjects.toStringHelper;
 
 /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstancePrefix.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstancePrefix.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstancePrefix.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstancePrefix.java
index 45c4c04..2f30538 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstancePrefix.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstancePrefix.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
+
+import java.util.Objects;
 
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 
-import java.util.Objects;
-
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceRoute.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceRoute.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceRoute.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceRoute.java
index b7c2b5cc..3e98531 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInstanceRoute.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInstanceRoute.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onlab.packet.IpAddress;
-import org.onlab.packet.IpPrefix;
+package org.onosproject.evpnrouteservice;
 
 import java.util.List;
 import java.util.Objects;
 
+import org.onlab.packet.IpAddress;
+import org.onlab.packet.IpPrefix;
+
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInternalRouteEvent.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInternalRouteEvent.java
similarity index 96%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInternalRouteEvent.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInternalRouteEvent.java
index 046927b..7a71875 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnInternalRouteEvent.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnInternalRouteEvent.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import org.onosproject.event.AbstractEvent;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnNextHop.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnNextHop.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnNextHop.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnNextHop.java
index 6aacabb..ac1e06b 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnNextHop.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnNextHop.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onlab.packet.IpAddress;
+package org.onosproject.evpnrouteservice;
 
 import java.util.List;
 import java.util.Objects;
 
+import org.onlab.packet.IpAddress;
+
 import static com.google.common.base.MoreObjects.toStringHelper;
 
 /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnPrefix.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnPrefix.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnPrefix.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnPrefix.java
index acea7d9..3f70ef5 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnPrefix.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnPrefix.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
+
+import java.util.Objects;
 
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 
-import java.util.Objects;
-
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRoute.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRoute.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRoute.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRoute.java
index 555634e..9449093 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRoute.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRoute.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
+
+import java.util.List;
+import java.util.Objects;
 
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 
-import java.util.List;
-import java.util.Objects;
-
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteAdminService.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteAdminService.java
similarity index 95%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteAdminService.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteAdminService.java
index 3a4ea8f..cc9e200 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteAdminService.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteAdminService.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Collection;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteEvent.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteEvent.java
similarity index 98%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteEvent.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteEvent.java
index 2d2db40..ae3d93a 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteEvent.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteEvent.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.joda.time.LocalDateTime;
-import org.onosproject.event.AbstractEvent;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Objects;
 
+import org.joda.time.LocalDateTime;
+import org.onosproject.event.AbstractEvent;
+
 import static com.google.common.base.MoreObjects.toStringHelper;
 
 /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteListener.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteListener.java
similarity index 93%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteListener.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteListener.java
index 02779c0..32a35c2 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteListener.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import org.onosproject.event.EventListener;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteService.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteService.java
similarity index 95%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteService.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteService.java
index 20e1fa7..ca9c031 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteService.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteService.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onosproject.event.ListenerService;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Collection;
 
+import org.onosproject.event.ListenerService;
+
 /**
  * EVPN route service.
  */
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteSet.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteSet.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteSet.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteSet.java
index adc8c1c..707df22 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteSet.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteSet.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import com.google.common.collect.ImmutableSet;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 import java.util.Set;
 
+import com.google.common.collect.ImmutableSet;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 
 /**
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStore.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStore.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStore.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStore.java
index 5c6e2ef..c06704f 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStore.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStore.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onlab.packet.IpAddress;
-import org.onosproject.store.Store;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Collection;
 import java.util.Set;
 
+import org.onlab.packet.IpAddress;
+import org.onosproject.store.Store;
+
 /**
  * EVPN route store.
  */
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStoreDelegate.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStoreDelegate.java
similarity index 94%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStoreDelegate.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStoreDelegate.java
index 55818e1..d714adc 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteStoreDelegate.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteStoreDelegate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import org.onosproject.store.StoreDelegate;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteTableId.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteTableId.java
similarity index 96%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteTableId.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteTableId.java
index 44af3cb..846a8d1 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnRouteTableId.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnRouteTableId.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnTable.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnTable.java
old mode 100644
new mode 100755
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnTable.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnTable.java
index 1b8fe78..0b3379f
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/EvpnTable.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/EvpnTable.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
-
-import org.onlab.packet.IpAddress;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Collection;
 
+import org.onlab.packet.IpAddress;
+
 /**
  * Represents a route table that stores routes.
  */
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/Label.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/Label.java
similarity index 96%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/Label.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/Label.java
index 0ce19af..8d90611 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/Label.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/Label.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteDistinguisher.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/RouteDistinguisher.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteDistinguisher.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/RouteDistinguisher.java
index c0e5b10..ca217b6 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteDistinguisher.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/RouteDistinguisher.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/VpnRouteTarget.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/VpnRouteTarget.java
similarity index 97%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/VpnRouteTarget.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/VpnRouteTarget.java
index d7aee60..51a9a59 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/VpnRouteTarget.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/VpnRouteTarget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
 
 import java.util.Objects;
 
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/package-info.java b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/package-info.java
similarity index 92%
rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/package-info.java
rename to apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/package-info.java
index 3d3f01c..3514c80 100644
--- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/package-info.java
+++ b/apps/evpn-route-service/api/src/main/java/org/onosproject/evpnrouteservice/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Unicast routing service.
  */
-package org.onosproject.incubator.net.routing;
+package org.onosproject.evpnrouteservice;
diff --git a/apps/evpn-route-service/app/BUCK b/apps/evpn-route-service/app/BUCK
new file mode 100644
index 0000000..1231207
--- /dev/null
+++ b/apps/evpn-route-service/app/BUCK
@@ -0,0 +1,16 @@
+COMPILE_DEPS = [
+    '//lib:CORE_DEPS',
+    '//utils/misc:onlab-misc',
+    '//core/store/serializers:onos-core-serializers',
+    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
+]
+
+TEST_DEPS = [
+    '//lib:TEST',
+    '//core/api:onos-api-tests',
+]
+
+osgi_jar_with_tests (
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
+)
diff --git a/apps/evpn-route-service/app/pom.xml b/apps/evpn-route-service/app/pom.xml
new file mode 100644
index 0000000..780a9db
--- /dev/null
+++ b/apps/evpn-route-service/app/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017-present Open Networking Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>onos-app-evpn-route-service</artifactId>
+        <groupId>org.onosproject</groupId>
+        <version>1.11.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-app-evpn-route-service-app</artifactId>
+    <packaging>bundle</packaging>
+
+    <url>http://onosproject.org</url>
+
+    <description>EVPN Routing Application Implementation</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onlab-junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-core-serializers</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-incubator-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-api</artifactId>
+            <classifier>tests</classifier>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-app-evpn-route-service-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+    </dependencies>
+
+
+</project>
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnListenerQueue.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnListenerQueue.java
similarity index 89%
rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnListenerQueue.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnListenerQueue.java
index 77a57ca..ce3d012 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnListenerQueue.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnListenerQueue.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing.impl;
+package org.onosproject.evpnrouteservice.impl;
 
-import org.onosproject.incubator.net.routing.EvpnRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRouteEvent;
 
 /**
  * Queues updates for a route listener to ensure they are received in the
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnRouteManager.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java
similarity index 92%
rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnRouteManager.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java
index 6757353..19e6311 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/EvpnRouteManager.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/EvpnRouteManager.java
@@ -14,28 +14,8 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.net.routing.impl;
+package org.onosproject.evpnrouteservice.impl;
 
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.Service;
-import org.onosproject.incubator.net.routing.EvpnInternalRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRouteAdminService;
-import org.onosproject.incubator.net.routing.EvpnRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnRouteListener;
-import org.onosproject.incubator.net.routing.EvpnRouteService;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteStore;
-import org.onosproject.incubator.net.routing.EvpnRouteStoreDelegate;
-import org.onosproject.incubator.net.routing.EvpnRouteTableId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.annotation.concurrent.GuardedBy;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -44,6 +24,28 @@
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadFactory;
 
+import javax.annotation.concurrent.GuardedBy;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.Service;
+
+import org.onosproject.evpnrouteservice.EvpnInternalRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRouteAdminService;
+import org.onosproject.evpnrouteservice.EvpnRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRouteListener;
+import org.onosproject.evpnrouteservice.EvpnRouteService;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteStore;
+import org.onosproject.evpnrouteservice.EvpnRouteStoreDelegate;
+import org.onosproject.evpnrouteservice.EvpnRouteTableId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import static java.util.concurrent.Executors.newSingleThreadExecutor;
 import static org.onlab.util.Tools.groupedThreads;
 
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/package-info.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/package-info.java
similarity index 92%
rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/package-info.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/package-info.java
index d352803..80892c9 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/package-info.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/impl/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Implementation of route service.
  */
-package org.onosproject.incubator.net.routing.impl;
+package org.onosproject.evpnrouteservice.impl;
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DistributedEvpnRouteStore.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java
similarity index 92%
rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DistributedEvpnRouteStore.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java
index b4526e2..de1dbd6 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DistributedEvpnRouteStore.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/DistributedEvpnRouteStore.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.store.routing.impl;
+package org.onosproject.evpnrouteservice.store;
 
 import com.google.common.collect.ImmutableSet;
 import org.apache.felix.scr.annotations.Activate;
@@ -25,13 +25,13 @@
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.packet.IpAddress;
 import org.onlab.util.KryoNamespace;
-import org.onosproject.incubator.net.routing.EvpnInternalRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteStore;
-import org.onosproject.incubator.net.routing.EvpnRouteStoreDelegate;
-import org.onosproject.incubator.net.routing.EvpnRouteTableId;
-import org.onosproject.incubator.net.routing.EvpnTable;
+import org.onosproject.evpnrouteservice.EvpnInternalRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteStore;
+import org.onosproject.evpnrouteservice.EvpnRouteStoreDelegate;
+import org.onosproject.evpnrouteservice.EvpnRouteTableId;
+import org.onosproject.evpnrouteservice.EvpnTable;
 import org.onosproject.store.AbstractStore;
 import org.onosproject.store.service.DistributedSet;
 import org.onosproject.store.service.Serializer;
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EmptyEvpnRouteTable.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EmptyEvpnRouteTable.java
similarity index 84%
rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EmptyEvpnRouteTable.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EmptyEvpnRouteTable.java
index aa56d71..f49a174 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EmptyEvpnRouteTable.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EmptyEvpnRouteTable.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.store.routing.impl;
+package org.onosproject.evpnrouteservice.store;
 
 import org.onlab.packet.IpAddress;
-import org.onosproject.incubator.net.routing.EvpnPrefix;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteTableId;
-import org.onosproject.incubator.net.routing.EvpnTable;
+import org.onosproject.evpnrouteservice.EvpnPrefix;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteTableId;
+import org.onosproject.evpnrouteservice.EvpnTable;
 
 import java.util.Collection;
 import java.util.Collections;
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EvpnRouteTable.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EvpnRouteTable.java
similarity index 91%
rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EvpnRouteTable.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EvpnRouteTable.java
index 33c8f96..2c3e07b 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EvpnRouteTable.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/EvpnRouteTable.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  */
 
-package org.onosproject.incubator.store.routing.impl;
+package org.onosproject.evpnrouteservice.store;
 
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 import org.onlab.util.KryoNamespace;
-import org.onosproject.incubator.net.routing.EvpnInternalRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnPrefix;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteStoreDelegate;
-import org.onosproject.incubator.net.routing.EvpnRouteTableId;
-import org.onosproject.incubator.net.routing.EvpnTable;
-import org.onosproject.incubator.net.routing.Label;
-import org.onosproject.incubator.net.routing.RouteDistinguisher;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.EvpnInternalRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnPrefix;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteStoreDelegate;
+import org.onosproject.evpnrouteservice.EvpnRouteTableId;
+import org.onosproject.evpnrouteservice.EvpnTable;
+import org.onosproject.evpnrouteservice.Label;
+import org.onosproject.evpnrouteservice.RouteDistinguisher;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.ConsistentMap;
 import org.onosproject.store.service.DistributedPrimitive;
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/package-info.java b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/package-info.java
similarity index 92%
rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/package-info.java
rename to apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/package-info.java
index 38f82fb..52e9d6c 100644
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/package-info.java
+++ b/apps/evpn-route-service/app/src/main/java/org/onosproject/evpnrouteservice/store/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Implementation of the unicast routing service.
  */
-package org.onosproject.incubator.store.routing.impl;
+package org.onosproject.evpnrouteservice.store;
diff --git a/apps/evpn-route-service/pom.xml b/apps/evpn-route-service/pom.xml
new file mode 100644
index 0000000..a008f5f
--- /dev/null
+++ b/apps/evpn-route-service/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Copyright 2017-present Open Networking Foundation
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.onosproject</groupId>
+        <artifactId>onos-apps</artifactId>
+        <version>1.11.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>onos-app-evpn-route-service</artifactId>
+    <packaging>pom</packaging>
+
+    <description>EVPN Routing Application</description>
+
+    <modules>
+        <module>api</module>
+        <module>app</module>
+    </modules>
+
+</project>
diff --git a/apps/evpnopenflow/BUCK b/apps/evpnopenflow/BUCK
index a244b1f..d3d92ee 100644
--- a/apps/evpnopenflow/BUCK
+++ b/apps/evpnopenflow/BUCK
@@ -7,6 +7,7 @@
   '//apps/gluon:onos-apps-gluon',
   '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc',
   '//apps/route-service/api:onos-apps-route-service-api',
+  '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
 ]
 
 TEST_DEPS = [
@@ -25,5 +26,6 @@
   url = 'http://onosproject.org',
   description = 'Ethernet VPN (EVPN) introduces a new model for Ethernet services delivery.' +
   'It enables integrated Layer 2 service over Ethernet with multihoming.',
-  required_apps = [ 'org.onosproject.route-service' ],
+  required_apps = [ 'org.onosproject.route-service', 'org.onosproject.evpnrouteservice',
+                    'org.onosproject.gluon', 'org.onosproject.vtn' ],
 )
diff --git a/apps/evpnopenflow/pom.xml b/apps/evpnopenflow/pom.xml
index 43cca85..a1ec1b8 100644
--- a/apps/evpnopenflow/pom.xml
+++ b/apps/evpnopenflow/pom.xml
@@ -110,5 +110,10 @@
             <artifactId>onos-apps-route-service-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-app-evpn-route-service-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/EvpnService.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/EvpnService.java
index 560b96e..5a41454 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/EvpnService.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/EvpnService.java
@@ -17,7 +17,7 @@
 package org.onosproject.evpnopenflow.manager;
 
 import org.onosproject.evpnopenflow.rsc.VpnPort;
-import org.onosproject.incubator.net.routing.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRoute;
 import org.onosproject.net.Host;
 
 /**
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java
index 7f7314b..33d6924 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/manager/impl/EvpnManager.java
@@ -50,22 +50,22 @@
 import org.onosproject.incubator.net.resource.label.LabelResourceAdminService;
 import org.onosproject.incubator.net.resource.label.LabelResourceId;
 import org.onosproject.incubator.net.resource.label.LabelResourceService;
-import org.onosproject.incubator.net.routing.EvpnInstanceName;
-import org.onosproject.incubator.net.routing.EvpnInstanceNextHop;
-import org.onosproject.incubator.net.routing.EvpnInstancePrefix;
-import org.onosproject.incubator.net.routing.EvpnInstanceRoute;
-import org.onosproject.incubator.net.routing.EvpnNextHop;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRoute.Source;
-import org.onosproject.incubator.net.routing.EvpnRouteAdminService;
-import org.onosproject.incubator.net.routing.EvpnRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnRouteListener;
-import org.onosproject.incubator.net.routing.EvpnRouteService;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteStore;
-import org.onosproject.incubator.net.routing.Label;
-import org.onosproject.incubator.net.routing.RouteDistinguisher;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.EvpnInstanceName;
+import org.onosproject.evpnrouteservice.EvpnInstanceNextHop;
+import org.onosproject.evpnrouteservice.EvpnInstancePrefix;
+import org.onosproject.evpnrouteservice.EvpnInstanceRoute;
+import org.onosproject.evpnrouteservice.EvpnNextHop;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRoute.Source;
+import org.onosproject.evpnrouteservice.EvpnRouteAdminService;
+import org.onosproject.evpnrouteservice.EvpnRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRouteListener;
+import org.onosproject.evpnrouteservice.EvpnRouteService;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteStore;
+import org.onosproject.evpnrouteservice.Label;
+import org.onosproject.evpnrouteservice.RouteDistinguisher;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 import org.onosproject.mastership.MastershipService;
 import org.onosproject.net.AnnotationKeys;
 import org.onosproject.net.Device;
@@ -103,7 +103,6 @@
 import java.util.List;
 import java.util.Set;
 
-import static com.sun.org.apache.xalan.internal.xsltc.compiler.util.Type.Reference;
 import static org.onosproject.evpnopenflow.rsc.EvpnConstants.APP_ID;
 import static org.onosproject.evpnopenflow.rsc.EvpnConstants.ARP_PRIORITY;
 import static org.onosproject.evpnopenflow.rsc.EvpnConstants.ARP_RESPONSE;
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnAfConfig.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnAfConfig.java
index 2481830..afa32a0 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnAfConfig.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnAfConfig.java
@@ -16,7 +16,7 @@
 
 package org.onosproject.evpnopenflow.rsc;
 
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnInstance.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnInstance.java
index e7f9c5d..62b1a70 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnInstance.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/DefaultVpnInstance.java
@@ -16,9 +16,9 @@
 
 package org.onosproject.evpnopenflow.rsc;
 
-import org.onosproject.incubator.net.routing.EvpnInstanceName;
-import org.onosproject.incubator.net.routing.RouteDistinguisher;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.EvpnInstanceName;
+import org.onosproject.evpnrouteservice.RouteDistinguisher;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 import java.util.Objects;
 import java.util.Set;
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnAfConfig.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnAfConfig.java
index e9bd068..83d5686 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnAfConfig.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnAfConfig.java
@@ -16,7 +16,7 @@
 
 package org.onosproject.evpnopenflow.rsc;
 
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 /**
  * Representation of a VPN af configuration.
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnInstance.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnInstance.java
index d49027b..3c2d062 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnInstance.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/VpnInstance.java
@@ -16,9 +16,9 @@
 
 package org.onosproject.evpnopenflow.rsc;
 
-import org.onosproject.incubator.net.routing.EvpnInstanceName;
-import org.onosproject.incubator.net.routing.RouteDistinguisher;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.EvpnInstanceName;
+import org.onosproject.evpnrouteservice.RouteDistinguisher;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 import java.util.Set;
 
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPrivateRouteListCommand.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPrivateRouteListCommand.java
index 2122320..f4ddf15 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPrivateRouteListCommand.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPrivateRouteListCommand.java
@@ -20,7 +20,7 @@
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.evpnopenflow.manager.EvpnService;
 import org.onosproject.evpnopenflow.manager.impl.EvpnManager;
-import org.onosproject.incubator.net.routing.EvpnInstanceRoute;
+import org.onosproject.evpnrouteservice.EvpnInstanceRoute;
 
 import java.util.Collection;
 
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPublicRouteListCommand.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPublicRouteListCommand.java
index 3067257..2ce5fb8 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPublicRouteListCommand.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/cli/EvpnPublicRouteListCommand.java
@@ -18,9 +18,9 @@
 
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRouteSet;
-import org.onosproject.incubator.net.routing.EvpnRouteStore;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRouteSet;
+import org.onosproject.evpnrouteservice.EvpnRouteStore;
 
 import java.util.Collection;
 
@@ -55,4 +55,4 @@
             }
         });
     }
-}
\ No newline at end of file
+}
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/VpnAfConfigService.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/VpnAfConfigService.java
index 31714ad..ecde40d 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/VpnAfConfigService.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/VpnAfConfigService.java
@@ -18,7 +18,7 @@
 
 import com.fasterxml.jackson.databind.JsonNode;
 import org.onosproject.evpnopenflow.rsc.VpnAfConfig;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 import java.util.Collection;
 
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java
index fafd5d8..7645c2e 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpnafconfig/impl/VpnAfConfigManager.java
@@ -31,7 +31,7 @@
 import org.onosproject.evpnopenflow.rsc.vpnafconfig.VpnAfConfigEvent;
 import org.onosproject.evpnopenflow.rsc.vpnafconfig.VpnAfConfigListener;
 import org.onosproject.evpnopenflow.rsc.vpnafconfig.VpnAfConfigService;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.EventuallyConsistentMap;
 import org.onosproject.store.service.StorageService;
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/VpnInstanceService.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/VpnInstanceService.java
index f233f29..a61a811 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/VpnInstanceService.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/VpnInstanceService.java
@@ -19,7 +19,7 @@
 import com.fasterxml.jackson.databind.JsonNode;
 import org.onosproject.evpnopenflow.rsc.VpnInstance;
 import org.onosproject.evpnopenflow.rsc.VpnInstanceId;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 
 import java.util.Collection;
 import java.util.Set;
diff --git a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java
index e0ec5a9..20c6d15 100644
--- a/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java
+++ b/apps/evpnopenflow/src/main/java/org/onosproject/evpnopenflow/rsc/vpninstance/impl/VpnInstanceManager.java
@@ -33,10 +33,10 @@
 import org.onosproject.evpnopenflow.rsc.VpnInstanceId;
 import org.onosproject.evpnopenflow.rsc.vpnafconfig.VpnAfConfigService;
 import org.onosproject.evpnopenflow.rsc.vpninstance.VpnInstanceService;
-import org.onosproject.incubator.net.routing.EvpnInstanceName;
+import org.onosproject.evpnrouteservice.EvpnInstanceName;
 import org.onosproject.routeservice.RouteAdminService;
-import org.onosproject.incubator.net.routing.RouteDistinguisher;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.RouteDistinguisher;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.EventuallyConsistentMap;
 import org.onosproject.store.service.StorageService;
diff --git a/apps/pom.xml b/apps/pom.xml
index 0fd13fc..617daa6 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -92,6 +92,7 @@
 	    <module>gluon</module>
         <module>evpnopenflow</module>
         <module>route-service</module>
+        <module>evpn-route-service</module>
     </modules>
 
     <properties>
diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/impl/package-info.java b/incubator/store/src/main/java/org/onosproject/incubator/store/impl/package-info.java
deleted file mode 100644
index 72a6bfc..0000000
--- a/incubator/store/src/main/java/org/onosproject/incubator/store/impl/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015-present Open Networking Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Incubating distributed store implementations.
- */
-package org.onosproject.incubator.store.impl;
\ No newline at end of file
diff --git a/modules.defs b/modules.defs
index fa8cba2..6620431 100644
--- a/modules.defs
+++ b/modules.defs
@@ -211,6 +211,7 @@
     '//apps/gluon:onos-apps-gluon-oar',
     '//apps/evpnopenflow:onos-apps-evpnopenflow-oar',
     '//apps/route-service:onos-apps-route-service-oar',
+    '//apps/evpn-route-service:onos-apps-evpn-route-service-oar',
 ]
 
 PROTOCOL_APPS = [
diff --git a/providers/bgp/BUCK b/providers/bgp/BUCK
index c6560b9..93ab3f7 100644
--- a/providers/bgp/BUCK
+++ b/providers/bgp/BUCK
@@ -14,5 +14,6 @@
     url = 'http://onosproject.org',
     included_bundles = BUNDLES,
     description = 'BGP protocol southbound providers.',
+    required_apps = [ 'org.onosproject.evpnrouteservice' ],
 )
 
diff --git a/providers/bgp/route/BUCK b/providers/bgp/route/BUCK
index bf38465..5e94e85 100644
--- a/providers/bgp/route/BUCK
+++ b/providers/bgp/route/BUCK
@@ -1,16 +1,17 @@
 COMPILE_DEPS = [
-  '//lib:CORE_DEPS',
-  '//protocols/bgp/api:onos-protocols-bgp-api',
-  '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
-  '//incubator/store:onos-incubator-store',
-  '//incubator/api:onos-incubator-api',
+    '//lib:CORE_DEPS',
+    '//protocols/bgp/api:onos-protocols-bgp-api',
+    '//protocols/bgp/bgpio:onos-protocols-bgp-bgpio',
+    '//incubator/store:onos-incubator-store',
+    '//incubator/api:onos-incubator-api',
+    '//apps/evpn-route-service/api:onos-apps-evpn-route-service-api',
 ]
 
 TEST_DEPS = [
-  '//lib:TEST_ADAPTERS',
+    '//lib:TEST_ADAPTERS',
 ]
 
 osgi_jar_with_tests(
-  deps = COMPILE_DEPS,
-  test_deps = TEST_DEPS,
+    deps = COMPILE_DEPS,
+    test_deps = TEST_DEPS,
 )
diff --git a/providers/bgp/route/pom.xml b/providers/bgp/route/pom.xml
index e3bffcd..e7c26a8 100644
--- a/providers/bgp/route/pom.xml
+++ b/providers/bgp/route/pom.xml
@@ -46,5 +46,10 @@
             <groupId>org.onosproject</groupId>
             <artifactId>onos-bgp-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.onosproject</groupId>
+            <artifactId>onos-app-evpn-route-service-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 </project>
diff --git a/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java b/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java
index 81bd1d5..c7a9b10 100644
--- a/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java
+++ b/providers/bgp/route/src/main/java/org/onosproject/provider/bgp/route/impl/BgpRouteProvider.java
@@ -40,12 +40,12 @@
 import org.onosproject.bgpio.types.MpUnReachNlri;
 import org.onosproject.bgpio.types.RouteDistinguisher;
 import org.onosproject.bgpio.types.RouteTarget;
-import org.onosproject.incubator.net.routing.EvpnRoute;
-import org.onosproject.incubator.net.routing.EvpnRoute.Source;
-import org.onosproject.incubator.net.routing.EvpnRouteAdminService;
-import org.onosproject.incubator.net.routing.EvpnRouteEvent;
-import org.onosproject.incubator.net.routing.EvpnRouteListener;
-import org.onosproject.incubator.net.routing.VpnRouteTarget;
+import org.onosproject.evpnrouteservice.EvpnRoute;
+import org.onosproject.evpnrouteservice.EvpnRoute.Source;
+import org.onosproject.evpnrouteservice.EvpnRouteAdminService;
+import org.onosproject.evpnrouteservice.EvpnRouteEvent;
+import org.onosproject.evpnrouteservice.EvpnRouteListener;
+import org.onosproject.evpnrouteservice.VpnRouteTarget;
 import org.onosproject.net.provider.AbstractProvider;
 import org.onosproject.net.provider.ProviderId;
 import org.slf4j.Logger;
@@ -391,4 +391,4 @@
                               labelInt);
         }
     }
-}
\ No newline at end of file
+}
