diff --git a/apps/dhcprelay/pom.xml b/apps/dhcprelay/pom.xml
index 782e1b0fac..5e9d68e3b1 100644
--- a/apps/dhcprelay/pom.xml
+++ b/apps/dhcprelay/pom.xml
@@ -80,13 +80,6 @@
tests
-
- org.onosproject
- onos-incubator-api
- ${project.version}
- tests
-
-
org.apache.felix
org.apache.felix.scr.annotations
diff --git a/apps/evpn-route-service/BUCK b/apps/evpn-route-service/BUCK
new file mode 100644
index 0000000000..5c8b0374ab
--- /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 0000000000..68eeacf58f
--- /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 0000000000..25113e7c41
--- /dev/null
+++ b/apps/evpn-route-service/api/pom.xml
@@ -0,0 +1,61 @@
+
+
+
+ 4.0.0
+
+
+ onos-app-evpn-route-service
+ org.onosproject
+ 1.11.0-SNAPSHOT
+
+
+ onos-app-evpn-route-service-api
+ bundle
+
+ http://onosproject.org
+
+ EVPN Routing Application API
+
+
+
+ org.onosproject
+ onlab-junit
+ test
+
+
+ org.onosproject
+ onos-core-serializers
+ ${project.version}
+
+
+
+ org.onosproject
+ onos-incubator-api
+
+
+ org.onosproject
+ onos-api
+ tests
+ test
+
+
+
+
+
+
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 4201909aa6..5288db7dad 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 ee63cf4409..f1ea22ac16 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 98%
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 4acd2b3525..49ad2c5408 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 98%
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 45c4c04933..2f30538917 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 99%
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 b7c2b5cc6a..3e98531619 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 046927b63d..7a71875ed3 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 6aacabb520..ac1e06bc99 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 acea7d9fc9..3f70ef5722 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 99%
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 555634ed60..9449093dfe 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 96%
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 3a4ea8f30a..cc9e20010d 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 99%
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 2d2db40e5d..ae3d93ab83 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 94%
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 02779c0656..32a35c2fd4 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 20e1fa7d86..ca9c031254 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 98%
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 adc8c1c253..707df2254b 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 5c6e2ef83f..c06704f662 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 55818e10a7..d714adcc37 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 97%
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 44af3cbf14..846a8d1b8b 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 1b8fe780e4..0b3379fce6
--- 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 97%
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 0ce19afa63..8d90611ff5 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 98%
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 c0e5b1026f..ca217b6495 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 d7aee60ce2..51a9a59006 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 93%
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 3d3f01cb74..3514c80097 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 0000000000..1231207080
--- /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 0000000000..780a9db7eb
--- /dev/null
+++ b/apps/evpn-route-service/app/pom.xml
@@ -0,0 +1,66 @@
+
+
+
+ 4.0.0
+
+
+ onos-app-evpn-route-service
+ org.onosproject
+ 1.11.0-SNAPSHOT
+
+
+ onos-app-evpn-route-service-app
+ bundle
+
+ http://onosproject.org
+
+ EVPN Routing Application Implementation
+
+
+
+ org.onosproject
+ onlab-junit
+ test
+
+
+ org.onosproject
+ onos-core-serializers
+ ${project.version}
+
+
+
+ org.onosproject
+ onos-incubator-api
+
+
+ org.onosproject
+ onos-api
+ tests
+ test
+
+
+ org.onosproject
+ onos-app-evpn-route-service-api
+ ${project.version}
+
+
+
+
+
+
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 90%
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 77a57ca603..ce3d01286a 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 675735361e..19e63118d8 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.ExecutorService;
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 d352803fec..80892c930e 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 93%
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 b4526e2bd3..de1dbd69da 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.ReferenceCardinality;
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 aa56d71b38..f49a1748ff 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 92%
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 33c8f969b3..2c3e07be59 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 38f82fb5a9..52e9d6ca7f 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 0000000000..a008f5f3cb
--- /dev/null
+++ b/apps/evpn-route-service/pom.xml
@@ -0,0 +1,38 @@
+
+
+
+ 4.0.0
+
+
+ org.onosproject
+ onos-apps
+ 1.11.0-SNAPSHOT
+
+
+ onos-app-evpn-route-service
+ pom
+
+ EVPN Routing Application
+
+
+ api
+ app
+
+
+
diff --git a/apps/evpnopenflow/BUCK b/apps/evpnopenflow/BUCK
index a244b1f746..d3d92ee26f 100644
--- a/apps/evpnopenflow/BUCK
+++ b/apps/evpnopenflow/BUCK
@@ -7,6 +7,7 @@ COMPILE_DEPS = [
'//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 @@ onos_app(
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 43cca85a0c..a1ec1b84e4 100644
--- a/apps/evpnopenflow/pom.xml
+++ b/apps/evpnopenflow/pom.xml
@@ -110,5 +110,10 @@
onos-apps-route-service-api
${project.version}
+
+ org.onosproject
+ onos-app-evpn-route-service-api
+ ${project.version}
+
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 560b96e971..5a4145457a 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 7f7314b465..33d6924857 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.LabelResource;
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.LinkedList;
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 2481830d14..afa32a0cac 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 e7f9c5d52b..62b1a70bf2 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 e9bd0681c3..83d5686326 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 d49027b2bc..3c2d062bcc 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 21223205dc..f4ddf1533f 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.apache.karaf.shell.commands.Command;
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 3067257960..2ce5fb85cb 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 @@ package org.onosproject.evpnopenflow.rsc.cli;
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 @@ public class EvpnPublicRouteListCommand extends AbstractShellCommand {
}
});
}
-}
\ 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 31714ad61f..ecde40d862 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 @@ package org.onosproject.evpnopenflow.rsc.vpnafconfig;
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 fafd5d8598..7645c2e335 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;
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 f233f2938c..a61a811587 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 @@ package org.onosproject.evpnopenflow.rsc.vpninstance;
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 e0ec5a9281..20c6d151b6 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.VpnInstance;
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 0fd13fcdf7..617daa6614 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -92,6 +92,7 @@
gluon
evpnopenflow
route-service
+ evpn-route-service
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 72a6bfc11f..0000000000
--- 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 fa8cba2a03..66204319ef 100644
--- a/modules.defs
+++ b/modules.defs
@@ -211,6 +211,7 @@ ONOS_APPS = [
'//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 c6560b9992..93ab3f7a20 100644
--- a/providers/bgp/BUCK
+++ b/providers/bgp/BUCK
@@ -14,5 +14,6 @@ onos_app (
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 bf384654b2..5e94e85b79 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 e3bffcdb77..e7c26a8f62 100644
--- a/providers/bgp/route/pom.xml
+++ b/providers/bgp/route/pom.xml
@@ -46,5 +46,10 @@
org.onosproject
onos-bgp-api
+
+ org.onosproject
+ onos-app-evpn-route-service-api
+ ${project.version}
+
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 81bd1d5882..c7a9b104db 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.MpReachNlri;
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 @@ public class BgpRouteProvider extends AbstractProvider {
labelInt);
}
}
-}
\ No newline at end of file
+}