diff --git a/apps/bgprouter/BUCK b/apps/bgprouter/BUCK index 211ae7abbe..ac93991e1c 100644 --- a/apps/bgprouter/BUCK +++ b/apps/bgprouter/BUCK @@ -20,5 +20,5 @@ onos_app ( url = 'http://onosproject.org', description = 'BGP router application.', included_bundles = BUNDLES, - required_apps = [ 'org.onosproject.fibinstaller' ], + required_apps = [ 'org.onosproject.fibinstaller', 'org.onosproject.route-service' ], ) diff --git a/apps/dhcprelay/BUCK b/apps/dhcprelay/BUCK index ab78c6d10d..7ff6889f79 100644 --- a/apps/dhcprelay/BUCK +++ b/apps/dhcprelay/BUCK @@ -2,14 +2,14 @@ COMPILE_DEPS = [ '//lib:CORE_DEPS', '//lib:org.apache.karaf.shell.console', '//cli:onos-cli', - '//incubator/api:onos-incubator-api', - '//core/store/serializers:onos-core-serializers' + '//core/store/serializers:onos-core-serializers', + '//apps/route-service/api:onos-apps-route-service-api', ] TEST_DEPS = [ - '//lib:TEST_ADAPTERS', + '//lib:TEST', + '//apps/route-service/api:onos-apps-route-service-api-tests', '//core/api:onos-api-tests', - '//incubator/api:onos-incubator-api-tests', ] osgi_jar_with_tests ( @@ -23,4 +23,5 @@ onos_app ( category = 'Utility', url = 'http://onosproject.org', description = 'DHCP Relay Agent Application.', + required_apps = [ 'org.onosproject.route-service' ], ) diff --git a/apps/dhcprelay/pom.xml b/apps/dhcprelay/pom.xml index 752de52962..b3d879e671 100644 --- a/apps/dhcprelay/pom.xml +++ b/apps/dhcprelay/pom.xml @@ -61,7 +61,7 @@ junit test - + org.onosproject onlab-junit @@ -114,5 +114,10 @@ onos-cli ${project.version} + + org.onosproject + onos-app-route-service-api + ${project.version} + diff --git a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java index 4475f54ee6..e8f56d1e29 100644 --- a/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java +++ b/apps/dhcprelay/src/main/java/org/onosproject/dhcprelay/Dhcp4HandlerImpl.java @@ -40,8 +40,8 @@ import org.onosproject.dhcprelay.store.DhcpRecord; import org.onosproject.dhcprelay.store.DhcpRelayStore; import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteStore; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteStore; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; import org.onosproject.net.HostId; diff --git a/apps/dhcprelay/src/test/java/org/onosproject/dhcprelay/DhcpRelayManagerTest.java b/apps/dhcprelay/src/test/java/org/onosproject/dhcprelay/DhcpRelayManagerTest.java index 72b4d84c29..cab0908f0c 100644 --- a/apps/dhcprelay/src/test/java/org/onosproject/dhcprelay/DhcpRelayManagerTest.java +++ b/apps/dhcprelay/src/test/java/org/onosproject/dhcprelay/DhcpRelayManagerTest.java @@ -45,8 +45,8 @@ import org.onosproject.dhcprelay.store.DhcpRelayStore; import org.onosproject.dhcprelay.store.DhcpRelayStoreEvent; import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceServiceAdapter; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteStoreAdapter; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteStoreAdapter; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultHost; import org.onosproject.net.Host; diff --git a/apps/evpnopenflow/BUCK b/apps/evpnopenflow/BUCK index 6554cc7cac..a244b1f746 100755 --- a/apps/evpnopenflow/BUCK +++ b/apps/evpnopenflow/BUCK @@ -6,6 +6,7 @@ COMPILE_DEPS = [ '//core/store/serializers:onos-core-serializers', '//apps/gluon:onos-apps-gluon', '//apps/vtn/vtnrsc:onos-apps-vtn-vtnrsc', + '//apps/route-service/api:onos-apps-route-service-api', ] TEST_DEPS = [ @@ -24,4 +25,5 @@ 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' ], ) diff --git a/apps/evpnopenflow/pom.xml b/apps/evpnopenflow/pom.xml index aa4aab7b45..02a5baa1a7 100755 --- a/apps/evpnopenflow/pom.xml +++ b/apps/evpnopenflow/pom.xml @@ -105,5 +105,10 @@ onos-app-vtn-rsc ${project.version} + + org.onosproject + onos-app-route-service-api + ${project.version} + 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 361bad4ec6..e0ec5a9281 100755 --- 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 @@ -34,7 +34,7 @@ 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.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.RouteAdminService; import org.onosproject.incubator.net.routing.RouteDistinguisher; import org.onosproject.incubator.net.routing.VpnRouteTarget; import org.onosproject.store.serializers.KryoNamespaces; @@ -287,4 +287,4 @@ public class VpnInstanceManager implements VpnInstanceService { vpnInstanceMap.put(id, vpnInstance); return Collections.unmodifiableCollection(vpnInstanceMap.values()); } -} \ No newline at end of file +} diff --git a/apps/pim/BUCK b/apps/pim/BUCK index 1126966e2d..607978e833 100644 --- a/apps/pim/BUCK +++ b/apps/pim/BUCK @@ -4,6 +4,7 @@ COMPILE_DEPS = [ '//cli:onos-cli', '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', + '//apps/route-service/api:onos-apps-route-service-api', ] BUNDLES = [ @@ -23,4 +24,5 @@ onos_app ( url = 'http://onosproject.org', description = 'Protocol independent multicast emulation.', included_bundles = BUNDLES, + required_apps = [ 'org.onosproject.route-service' ], ) diff --git a/apps/pim/pom.xml b/apps/pim/pom.xml index b62dc0b5ce..4ceef0e9b5 100644 --- a/apps/pim/pom.xml +++ b/apps/pim/pom.xml @@ -85,6 +85,11 @@ org.apache.felix.scr.annotations provided + + org.onosproject + onos-app-route-service-api + ${project.version} + diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java index 13d6da3ad2..3c75c93e13 100644 --- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java +++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterfaceManager.java @@ -28,8 +28,8 @@ import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceEvent; import org.onosproject.net.intf.InterfaceListener; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; import org.onosproject.net.config.ConfigFactory; diff --git a/apps/pom.xml b/apps/pom.xml index bdefb5ee0f..0fd13fcdf7 100644 --- a/apps/pom.xml +++ b/apps/pom.xml @@ -89,8 +89,9 @@ yang openroadm netconf/client - gluon + gluon evpnopenflow + route-service diff --git a/apps/reactive-routing/BUCK b/apps/reactive-routing/BUCK index 9728498121..6e81b7a22a 100644 --- a/apps/reactive-routing/BUCK +++ b/apps/reactive-routing/BUCK @@ -4,6 +4,7 @@ COMPILE_DEPS = [ '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', '//apps/intentsync:onos-apps-intentsync', + '//apps/route-service/api:onos-apps-route-service-api', ] osgi_jar ( @@ -15,5 +16,5 @@ onos_app ( category = 'Traffic Steering', url = 'http://onosproject.org', description = 'SDN-IP reactive routing application.', - required_apps = [ 'org.onosproject.intentsynchronizer', 'org.onosproject.sdnip' ], + required_apps = [ 'org.onosproject.intentsynchronizer', 'org.onosproject.sdnip', 'org.onosproject.route-service'], ) diff --git a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java index b6145adbaf..904867d40b 100644 --- a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java +++ b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/ReactiveRoutingConfiguration.java @@ -51,7 +51,7 @@ import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; -import static org.onosproject.incubator.net.routing.RouteTools.createBinaryString; +import static org.onosproject.routeservice.RouteTools.createBinaryString; /** * Reactive routing configuration manager. diff --git a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java index 38917edcb4..5b6ad9c7a1 100644 --- a/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java +++ b/apps/reactive-routing/src/main/java/org/onosproject/reactive/routing/SdnIpReactiveRouting.java @@ -33,8 +33,8 @@ import org.onosproject.core.ApplicationId; import org.onosproject.core.CoreService; import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.Host; import org.onosproject.net.flow.DefaultTrafficSelector; diff --git a/apps/route-service/BUCK b/apps/route-service/BUCK new file mode 100644 index 0000000000..bf6ff333fe --- /dev/null +++ b/apps/route-service/BUCK @@ -0,0 +1,11 @@ +BUNDLES = [ + '//apps/route-service/api:onos-apps-route-service-api', + '//apps/route-service/app:onos-apps-route-service-app', +] + +onos_app ( + title = 'Route Service Server App', + category = 'Utility', + url = 'http://onosproject.org', + included_bundles = BUNDLES, +) diff --git a/apps/route-service/api/BUCK b/apps/route-service/api/BUCK new file mode 100644 index 0000000000..68eeacf58f --- /dev/null +++ b/apps/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/route-service/api/pom.xml b/apps/route-service/api/pom.xml new file mode 100644 index 0000000000..f136855a3a --- /dev/null +++ b/apps/route-service/api/pom.xml @@ -0,0 +1,61 @@ + + + + 4.0.0 + + + onos-app-route-service + org.onosproject + 1.11.0-SNAPSHOT + + + onos-app-route-service-api + bundle + + http://onosproject.org + + Route Service 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/InternalRouteEvent.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/InternalRouteEvent.java similarity index 96% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/InternalRouteEvent.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/InternalRouteEvent.java index f32100c69f..899e54faa9 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/InternalRouteEvent.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/InternalRouteEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onosproject.event.AbstractEvent; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/NextHopData.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/NextHopData.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/NextHopData.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/NextHopData.java index d00727e861..f3b7da7f65 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/NextHopData.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/NextHopData.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.MacAddress; import org.onosproject.net.ConnectPoint; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/ResolvedRoute.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/ResolvedRoute.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/ResolvedRoute.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/ResolvedRoute.java index 49b1cb87aa..828827d532 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/ResolvedRoute.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/ResolvedRoute.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/Route.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/Route.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/Route.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/Route.java index 845adea60e..f542252129 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/Route.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/Route.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteAdminService.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteAdminService.java similarity index 95% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteAdminService.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteAdminService.java index 86a18a9f6c..8886169ff3 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteAdminService.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteAdminService.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import java.util.Collection; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteConfig.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteConfig.java similarity index 97% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteConfig.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteConfig.java index 839f39480c..cc77b59823 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteConfig.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteConfig.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableSet; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteEvent.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteEvent.java similarity index 99% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteEvent.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteEvent.java index 42015b7b85..0428beb063 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteEvent.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.joda.time.LocalDateTime; import org.onosproject.event.AbstractEvent; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteInfo.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteInfo.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteInfo.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteInfo.java index 43cae90354..0969162b4f 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteInfo.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteInfo.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import com.google.common.annotations.Beta; import org.onlab.packet.IpPrefix; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteListener.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteListener.java similarity index 94% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteListener.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteListener.java index d4d4c1258d..063f335bf9 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteListener.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteListener.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onosproject.event.EventListener; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteService.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteService.java similarity index 97% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteService.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteService.java index b4766b77d2..c626e4724d 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteService.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteService.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpAddress; import org.onosproject.event.ListenerService; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteSet.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteSet.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteSet.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteSet.java index 207be54654..f464e5d38b 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteSet.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteSet.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import com.google.common.collect.ImmutableSet; import org.onlab.packet.IpPrefix; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStore.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java similarity index 98% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStore.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java index 67d16787f6..6866762488 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStore.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import com.google.common.annotations.Beta; import org.onlab.packet.IpAddress; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStoreDelegate.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStoreDelegate.java similarity index 94% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStoreDelegate.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStoreDelegate.java index 9bb3092bf9..e9c5b00a9e 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteStoreDelegate.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStoreDelegate.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onosproject.store.StoreDelegate; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTableId.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTableId.java similarity index 97% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTableId.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTableId.java index 785a815ccc..b522e6c771 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTableId.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTableId.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import java.util.Objects; diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTools.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTools.java similarity index 97% rename from incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTools.java rename to apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTools.java index eee406bc3b..5264719601 100644 --- a/incubator/api/src/main/java/org/onosproject/incubator/net/routing/RouteTools.java +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteTools.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpPrefix; diff --git a/apps/route-service/api/src/main/java/org/onosproject/routeservice/package-info.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/package-info.java new file mode 100644 index 0000000000..5bfe5baf55 --- /dev/null +++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2016-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. + */ + +/** + * Unicast routing service. + */ +package org.onosproject.routeservice; diff --git a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteConfigTest.java b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteConfigTest.java similarity index 98% rename from incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteConfigTest.java rename to apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteConfigTest.java index 8e1cbe386c..1e48420f7f 100644 --- a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteConfigTest.java +++ b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteConfigTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -78,4 +78,4 @@ public class RouteConfigTest { public void onApply(Config config) { } } -} \ No newline at end of file +} diff --git a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteServiceAdapter.java b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteServiceAdapter.java similarity index 97% rename from incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteServiceAdapter.java rename to apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteServiceAdapter.java index 0a2dd8f79d..1d6ec19173 100644 --- a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteServiceAdapter.java +++ b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteServiceAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpAddress; diff --git a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteStoreAdapter.java b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteStoreAdapter.java similarity index 97% rename from incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteStoreAdapter.java rename to apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteStoreAdapter.java index 5e9347beeb..bf9e527590 100644 --- a/incubator/api/src/test/java/org/onosproject/incubator/net/routing/RouteStoreAdapter.java +++ b/apps/route-service/api/src/test/java/org/onosproject/routeservice/RouteStoreAdapter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.onosproject.incubator.net.routing; +package org.onosproject.routeservice; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; diff --git a/incubator/api/src/test/resources/route-config.json b/apps/route-service/api/src/test/resources/route-config.json similarity index 100% rename from incubator/api/src/test/resources/route-config.json rename to apps/route-service/api/src/test/resources/route-config.json diff --git a/apps/route-service/app/BUCK b/apps/route-service/app/BUCK new file mode 100644 index 0000000000..289fddc8ff --- /dev/null +++ b/apps/route-service/app/BUCK @@ -0,0 +1,19 @@ +COMPILE_DEPS = [ + '//lib:CORE_DEPS', + '//lib:concurrent-trees', + '//core/store/serializers:onos-core-serializers', + '//apps/route-service/api:onos-apps-route-service-api', + '//cli:onos-cli', + '//lib:org.apache.karaf.shell.console', +] + +TEST_DEPS = [ + '//lib:TEST', + '//apps/route-service/api:onos-apps-route-service-api-tests', + '//core/api:onos-api-tests', +] + +osgi_jar_with_tests ( + deps = COMPILE_DEPS, + test_deps = TEST_DEPS, +) diff --git a/apps/route-service/app/app.xml b/apps/route-service/app/app.xml new file mode 100644 index 0000000000..a5618266cb --- /dev/null +++ b/apps/route-service/app/app.xml @@ -0,0 +1,24 @@ + + + + ${project.description} + mvn:${project.groupId}/${project.artifactId}/${project.version} + mvn:${project.groupId}/onos-app-route-service-api/${project.version} + diff --git a/apps/route-service/app/features.xml b/apps/route-service/app/features.xml new file mode 100644 index 0000000000..4cc99bd1ab --- /dev/null +++ b/apps/route-service/app/features.xml @@ -0,0 +1,24 @@ + + + + + onos-api + mvn:${project.groupId}/onos-app-route-service-api/${project.version} + mvn:${project.groupId}/onos-app-route-service/${project.version} + + diff --git a/apps/route-service/app/pom.xml b/apps/route-service/app/pom.xml new file mode 100644 index 0000000000..9428fb2747 --- /dev/null +++ b/apps/route-service/app/pom.xml @@ -0,0 +1,92 @@ + + + + 4.0.0 + + + onos-app-route-service + org.onosproject + 1.11.0-SNAPSHOT + + + onos-app-route-service-app + bundle + + http://onosproject.org + + Route Service Application + + + + org.onosproject + onlab-junit + test + + + org.onosproject + onos-core-serializers + ${project.version} + + + + org.onosproject + onos-incubator-api + + + org.onosproject + onos-cli + ${project.version} + + + + org.apache.karaf.shell + org.apache.karaf.shell.console + + + + org.onosproject + onos-api + tests + test + + + org.onosproject + onos-app-route-service-api + ${project.version} + + + com.googlecode.concurrent-trees + concurrent-trees + 2.6.0 + + + org.osgi + org.osgi.compendium + 5.0.0 + + + org.easymock + easymock + test + + + + + + diff --git a/cli/src/main/java/org/onosproject/cli/net/RouteAddCommand.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteAddCommand.java similarity index 92% rename from cli/src/main/java/org/onosproject/cli/net/RouteAddCommand.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteAddCommand.java index 3d2234b946..1810a07b4f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RouteAddCommand.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteAddCommand.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package org.onosproject.cli.net; +package org.onosproject.routeservice.cli; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; import java.util.Collections; diff --git a/cli/src/main/java/org/onosproject/cli/net/RouteRemoveCommand.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java similarity index 92% rename from cli/src/main/java/org/onosproject/cli/net/RouteRemoveCommand.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java index 5299eee2d4..9fef2ec14d 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RouteRemoveCommand.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteRemoveCommand.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package org.onosproject.cli.net; +package org.onosproject.routeservice.cli; import org.apache.karaf.shell.commands.Argument; import org.apache.karaf.shell.commands.Command; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; import java.util.Collections; diff --git a/cli/src/main/java/org/onosproject/cli/net/RouteStoreCommand.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteStoreCommand.java similarity index 92% rename from cli/src/main/java/org/onosproject/cli/net/RouteStoreCommand.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteStoreCommand.java index 288b29fbeb..2aefbf7e88 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RouteStoreCommand.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RouteStoreCommand.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.onosproject.cli.net; +package org.onosproject.routeservice.cli; import org.apache.karaf.shell.commands.Command; import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.incubator.net.routing.RouteStore; +import org.onosproject.routeservice.RouteStore; /** * Command to show the current route store implementation. @@ -31,4 +31,4 @@ public class RouteStoreCommand extends AbstractShellCommand { RouteStore routeStore = AbstractShellCommand.get(RouteStore.class); print(routeStore.name()); } -} \ No newline at end of file +} diff --git a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RoutesListCommand.java similarity index 94% rename from cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RoutesListCommand.java index ce4e2d799a..9c7eae053f 100644 --- a/cli/src/main/java/org/onosproject/cli/net/RoutesListCommand.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/RoutesListCommand.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.onosproject.cli.net; +package org.onosproject.routeservice.cli; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -21,10 +21,10 @@ import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import org.apache.karaf.shell.commands.Command; import org.onosproject.cli.AbstractShellCommand; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.RouteInfo; -import org.onosproject.incubator.net.routing.RouteService; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.RouteInfo; +import org.onosproject.routeservice.RouteService; +import org.onosproject.routeservice.RouteTableId; import java.util.Collection; import java.util.Comparator; diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/package-info.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/package-info.java new file mode 100644 index 0000000000..3880e5bed5 --- /dev/null +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/cli/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2016-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. + */ + +/** + * Implementation of route service. + */ +package org.onosproject.routeservice.cli; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ConfigurationRouteSource.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java similarity index 95% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ConfigurationRouteSource.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java index e41410f5f0..eb6733f283 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ConfigurationRouteSource.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ConfigurationRouteSource.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; @@ -22,9 +22,9 @@ import org.apache.felix.scr.annotations.Deactivate; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.ReferenceCardinality; import org.onosproject.core.ApplicationId; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; -import org.onosproject.incubator.net.routing.RouteConfig; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; +import org.onosproject.routeservice.RouteConfig; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; import org.onosproject.net.config.NetworkConfigListener; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/DefaultResolvedRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java similarity index 96% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/DefaultResolvedRouteStore.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java index 41eda3b921..34aeaa7b10 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/DefaultResolvedRouteStore.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/DefaultResolvedRouteStore.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Maps; @@ -26,9 +26,9 @@ import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.util.GuavaCollectors; import org.onlab.util.Tools; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteTableId; import java.util.Collection; import java.util.Collections; @@ -37,7 +37,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import static org.onosproject.incubator.net.routing.RouteTools.createBinaryString; +import static org.onosproject.routeservice.RouteTools.createBinaryString; /** * Stores routes that have been resolved. diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ListenerQueue.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ListenerQueue.java similarity index 90% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ListenerQueue.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ListenerQueue.java index d7f9ac7506..93e80d598b 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ListenerQueue.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ListenerQueue.java @@ -14,9 +14,9 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; -import org.onosproject.incubator.net.routing.RouteEvent; +import org.onosproject.routeservice.RouteEvent; /** * 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/ResolvedRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ResolvedRouteStore.java similarity index 91% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ResolvedRouteStore.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ResolvedRouteStore.java index 234abfa4a4..a6db108d44 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/ResolvedRouteStore.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/ResolvedRouteStore.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteTableId; import java.util.Collection; import java.util.Optional; diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java similarity index 93% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java index a6935c07a3..e5db364f33 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteManager.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; @@ -25,18 +25,18 @@ import org.apache.felix.scr.annotations.Service; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onosproject.cluster.ClusterService; -import org.onosproject.incubator.net.routing.InternalRouteEvent; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteInfo; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteService; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteStore; -import org.onosproject.incubator.net.routing.RouteStoreDelegate; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.InternalRouteEvent; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteInfo; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteService; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteStore; +import org.onosproject.routeservice.RouteStoreDelegate; +import org.onosproject.routeservice.RouteTableId; import org.onosproject.net.Host; import org.onosproject.net.host.HostEvent; import org.onosproject.net.host.HostListener; @@ -138,7 +138,7 @@ public class RouteManager implements RouteService, RouteAdminService { .map(resolvedRouteStore::getRoutes) .flatMap(Collection::stream) .map(route -> new RouteEvent(RouteEvent.Type.ROUTE_ADDED, route, - resolvedRouteStore.getAllRoutes(route.prefix()))) + resolvedRouteStore.getAllRoutes(route.prefix()))) .forEach(l::post); listeners.put(listener, l); diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteMonitor.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteMonitor.java similarity index 95% rename from incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteMonitor.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteMonitor.java index 262a20e31c..24d2aff3ec 100644 --- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteMonitor.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/RouteMonitor.java @@ -14,15 +14,15 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; import org.onosproject.cluster.ClusterEvent; import org.onosproject.cluster.ClusterEventListener; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; import org.onosproject.store.serializers.KryoNamespaces; import org.onosproject.store.service.DistributedPrimitive; import org.onosproject.store.service.Serializer; diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/package-info.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/package-info.java new file mode 100644 index 0000000000..037bde44ee --- /dev/null +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/impl/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2016-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. + */ + +/** + * Implementation of route service. + */ +package org.onosproject.routeservice.impl; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DefaultRouteTable.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DefaultRouteTable.java similarity index 95% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DefaultRouteTable.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DefaultRouteTable.java index f3ad7ea349..d42a05a9b0 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DefaultRouteTable.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DefaultRouteTable.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.util.KryoNamespace; -import org.onosproject.incubator.net.routing.InternalRouteEvent; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteStoreDelegate; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.InternalRouteEvent; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteStoreDelegate; +import org.onosproject.routeservice.RouteTableId; 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/DistributedRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DistributedRouteStore.java similarity index 93% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DistributedRouteStore.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DistributedRouteStore.java index 703b16539b..feacb82ddc 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/DistributedRouteStore.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/DistributedRouteStore.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import com.google.common.collect.ImmutableSet; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.util.KryoNamespace; -import org.onosproject.incubator.net.routing.InternalRouteEvent; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteStore; -import org.onosproject.incubator.net.routing.RouteStoreDelegate; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.InternalRouteEvent; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteStore; +import org.onosproject.routeservice.RouteStoreDelegate; +import org.onosproject.routeservice.RouteTableId; 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/EmptyRouteTable.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/EmptyRouteTable.java similarity index 89% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EmptyRouteTable.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/EmptyRouteTable.java index 5c6419be79..3786675f12 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/EmptyRouteTable.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/EmptyRouteTable.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteTableId; import java.util.Collection; import java.util.Collections; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/LocalRouteStore.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/LocalRouteStore.java similarity index 90% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/LocalRouteStore.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/LocalRouteStore.java index b8bbfdabff..7884783271 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/LocalRouteStore.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/LocalRouteStore.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import com.googlecode.concurrenttrees.common.KeyValuePair; import com.googlecode.concurrenttrees.radix.node.concrete.DefaultByteArrayNodeFactory; @@ -22,12 +22,13 @@ import com.googlecode.concurrenttrees.radixinverted.ConcurrentInvertedRadixTree; import com.googlecode.concurrenttrees.radixinverted.InvertedRadixTree; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; -import org.onosproject.incubator.net.routing.InternalRouteEvent; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteStore; -import org.onosproject.incubator.net.routing.RouteStoreDelegate; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.InternalRouteEvent; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteStore; +import org.onosproject.routeservice.RouteStoreDelegate; +import org.onosproject.routeservice.RouteTableId; +import org.onosproject.routeservice.RouteTools; import org.onosproject.store.AbstractStore; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,7 +44,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; -import static org.onosproject.incubator.net.routing.RouteTools.createBinaryString; /** * Route store based on in-memory storage. @@ -150,7 +150,7 @@ public class LocalRouteStore extends AbstractStore prefixes = - routeTable.getValuesForKeysPrefixing(createBinaryString(ip.toIpPrefix())); + routeTable.getValuesForKeysPrefixing(RouteTools.createBinaryString(ip.toIpPrefix())); Iterator it = prefixes.iterator(); diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteStoreImpl.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java similarity index 92% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteStoreImpl.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java index d5b19bde42..5c18b546d6 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteStoreImpl.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteStoreImpl.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Deactivate; @@ -27,12 +27,12 @@ import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.util.Tools; import org.onosproject.cfg.ComponentConfigService; -import org.onosproject.incubator.net.routing.InternalRouteEvent; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteStore; -import org.onosproject.incubator.net.routing.RouteStoreDelegate; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.InternalRouteEvent; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteStore; +import org.onosproject.routeservice.RouteStoreDelegate; +import org.onosproject.routeservice.RouteTableId; import org.onosproject.store.AbstractStore; import org.onosproject.store.service.StorageService; import org.osgi.service.component.ComponentContext; diff --git a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteTable.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java similarity index 89% rename from incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteTable.java rename to apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java index f09fb8cd94..fbe32c00fc 100644 --- a/incubator/store/src/main/java/org/onosproject/incubator/store/routing/impl/RouteTable.java +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/RouteTable.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.onosproject.incubator.store.routing.impl; +package org.onosproject.routeservice.store; import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteSet; -import org.onosproject.incubator.net.routing.RouteTableId; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteSet; +import org.onosproject.routeservice.RouteTableId; import java.util.Collection; diff --git a/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/package-info.java b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/package-info.java new file mode 100644 index 0000000000..fbf31a37c9 --- /dev/null +++ b/apps/route-service/app/src/main/java/org/onosproject/routeservice/store/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2016-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. + */ + +/** + * Implementation of the unicast routing service. + */ +package org.onosproject.routeservice.store; diff --git a/apps/route-service/app/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/apps/route-service/app/src/main/resources/OSGI-INF/blueprint/shell-config.xml new file mode 100644 index 0000000000..a020c3b577 --- /dev/null +++ b/apps/route-service/app/src/main/resources/OSGI-INF/blueprint/shell-config.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java b/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java similarity index 97% rename from incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java rename to apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java index 7ab3044a10..8febe682d1 100644 --- a/incubator/net/src/test/java/org/onosproject/incubator/net/routing/impl/RouteManagerTest.java +++ b/apps/route-service/app/src/test/java/org/onosproject/routeservice/impl/RouteManagerTest.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package org.onosproject.incubator.net.routing.impl; +package org.onosproject.routeservice.impl; + +import java.util.Collections; -import com.google.common.collect.Sets; import org.junit.Before; import org.junit.Test; import org.onlab.packet.Ip4Address; @@ -27,12 +28,12 @@ import org.onlab.packet.IpAddress; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.store.LocalRouteStore; import org.onosproject.cluster.ClusterService; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.store.routing.impl.LocalRouteStore; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DefaultHost; import org.onosproject.net.DeviceId; @@ -48,7 +49,7 @@ import org.onosproject.net.provider.ProviderId; import org.onosproject.store.service.StorageService; import org.onosproject.store.service.WorkQueue; -import java.util.Collections; +import com.google.common.collect.Sets; import static org.easymock.EasyMock.anyObject; import static org.easymock.EasyMock.anyString; diff --git a/apps/route-service/pom.xml b/apps/route-service/pom.xml new file mode 100644 index 0000000000..d9383df77e --- /dev/null +++ b/apps/route-service/pom.xml @@ -0,0 +1,38 @@ + + + + 4.0.0 + + + org.onosproject + onos-apps + 1.11.0-SNAPSHOT + + + onos-app-route-service + pom + + Route Service Application + + + api + app + + + diff --git a/apps/routing/common/BUCK b/apps/routing/common/BUCK index 8483685fb4..38167dc8d5 100644 --- a/apps/routing/common/BUCK +++ b/apps/routing/common/BUCK @@ -5,6 +5,7 @@ COMPILE_DEPS = [ '//cli:onos-cli', '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', + '//apps/route-service/api:onos-apps-route-service-api', '//core/common:onos-core-common', ] diff --git a/apps/routing/common/pom.xml b/apps/routing/common/pom.xml index c87bba2cc7..47840c922c 100644 --- a/apps/routing/common/pom.xml +++ b/apps/routing/common/pom.xml @@ -86,6 +86,11 @@ concurrent-trees compile + + org.onosproject + onos-app-route-service-api + ${project.version} + diff --git a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpRouteSelector.java b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpRouteSelector.java index cc4a578501..259ae3cff8 100644 --- a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpRouteSelector.java +++ b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpRouteSelector.java @@ -18,7 +18,7 @@ package org.onosproject.routing.bgp; import org.onlab.packet.IpPrefix; import org.onosproject.cluster.ClusterService; -import org.onosproject.incubator.net.routing.Route; +import org.onosproject.routeservice.Route; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java index 7d2875f06a..a2521ba1ca 100644 --- a/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java +++ b/apps/routing/common/src/main/java/org/onosproject/routing/bgp/BgpSessionManager.java @@ -38,8 +38,8 @@ import org.onlab.packet.Ip4Prefix; import org.onlab.packet.Ip6Prefix; import org.onlab.packet.IpPrefix; import org.onosproject.cluster.ClusterService; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/apps/routing/common/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java b/apps/routing/common/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java index 7fbbefbe8e..7d3414d152 100644 --- a/apps/routing/common/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java +++ b/apps/routing/common/src/test/java/org/onosproject/routing/bgp/BgpSessionManagerTest.java @@ -38,7 +38,7 @@ import org.onlab.packet.IpAddress; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.DefaultControllerNode; import org.onosproject.cluster.NodeId; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.RouteAdminService; import org.osgi.service.component.ComponentContext; import java.net.InetAddress; diff --git a/apps/routing/fibinstaller/BUCK b/apps/routing/fibinstaller/BUCK index b77e51b98c..ee7bf98a3a 100644 --- a/apps/routing/fibinstaller/BUCK +++ b/apps/routing/fibinstaller/BUCK @@ -2,12 +2,14 @@ COMPILE_DEPS = [ '//lib:CORE_DEPS', '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', + '//apps/route-service/api:onos-apps-route-service-api', ] TEST_DEPS = [ '//lib:TEST_ADAPTERS', '//incubator/api:onos-incubator-api-tests', '//apps/routing-api:onos-apps-routing-api-tests', + '//apps/route-service/api:onos-apps-route-service-api-tests', ] osgi_jar_with_tests ( @@ -27,4 +29,5 @@ onos_app ( url = 'http://onosproject.org', description = 'Installs routing rules into switches', included_bundles = BUNDLES, + required_apps = [ 'org.onosproject.route-service' ], ) diff --git a/apps/routing/fibinstaller/pom.xml b/apps/routing/fibinstaller/pom.xml index f9f7f4bf7e..91213f7e16 100644 --- a/apps/routing/fibinstaller/pom.xml +++ b/apps/routing/fibinstaller/pom.xml @@ -26,6 +26,13 @@ onos-apps-routing-fibinstaller bundle + + + org.onosproject + onos-app-route-service-api + ${project.version} + + diff --git a/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java b/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java index 65d35e2e9f..e5e74c70e0 100644 --- a/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java +++ b/apps/routing/fibinstaller/src/main/java/org/onosproject/routing/fibinstaller/FibInstaller.java @@ -39,11 +39,11 @@ import org.onosproject.core.CoreService; import org.onosproject.incubator.net.config.basics.McastConfig; import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteService; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteService; import org.onosproject.net.DeviceId; import org.onosproject.net.config.ConfigFactory; import org.onosproject.net.config.NetworkConfigEvent; diff --git a/apps/routing/fibinstaller/src/test/java/org/onosproject/routing/fibinstaller/FibInstallerTest.java b/apps/routing/fibinstaller/src/test/java/org/onosproject/routing/fibinstaller/FibInstallerTest.java index 32cfd59160..d591d6d47b 100644 --- a/apps/routing/fibinstaller/src/test/java/org/onosproject/routing/fibinstaller/FibInstallerTest.java +++ b/apps/routing/fibinstaller/src/test/java/org/onosproject/routing/fibinstaller/FibInstallerTest.java @@ -35,11 +35,11 @@ import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceListener; import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.intf.InterfaceServiceAdapter; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteServiceAdapter; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteServiceAdapter; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.PortNumber; diff --git a/apps/routing/fpm/BUCK b/apps/routing/fpm/BUCK index a4396f75ab..7ea89b9d07 100644 --- a/apps/routing/fpm/BUCK +++ b/apps/routing/fpm/BUCK @@ -4,6 +4,7 @@ COMPILE_DEPS = [ '//cli:onos-cli', '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', + '//apps/route-service/api:onos-apps-route-service-api', '//core/store/serializers:onos-core-serializers', ] @@ -29,4 +30,5 @@ onos_app ( url = 'http://onosproject.org', description = 'Receives routes from external routing daemon over FPM protocol', included_bundles = BUNDLES, + required_apps = [ 'org.onosproject.route-service' ], ) diff --git a/apps/routing/fpm/pom.xml b/apps/routing/fpm/pom.xml index 972297f529..37c81d8557 100644 --- a/apps/routing/fpm/pom.xml +++ b/apps/routing/fpm/pom.xml @@ -49,6 +49,11 @@ onos-core-serializers ${project.version} + + org.onosproject + onos-app-route-service-api + ${project.version} + diff --git a/apps/routing/fpm/src/main/java/org/onosproject/routing/fpm/FpmManager.java b/apps/routing/fpm/src/main/java/org/onosproject/routing/fpm/FpmManager.java index fee01e8933..178b489764 100644 --- a/apps/routing/fpm/src/main/java/org/onosproject/routing/fpm/FpmManager.java +++ b/apps/routing/fpm/src/main/java/org/onosproject/routing/fpm/FpmManager.java @@ -44,8 +44,8 @@ import org.onosproject.cfg.ComponentConfigService; import org.onosproject.cluster.ClusterService; import org.onosproject.cluster.NodeId; import org.onosproject.core.CoreService; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteAdminService; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteAdminService; import org.onosproject.routing.fpm.protocol.FpmHeader; import org.onosproject.routing.fpm.protocol.Netlink; import org.onosproject.routing.fpm.protocol.RouteAttribute; diff --git a/apps/sdnip/BUCK b/apps/sdnip/BUCK index 0067e192b6..08f02a4cba 100644 --- a/apps/sdnip/BUCK +++ b/apps/sdnip/BUCK @@ -2,6 +2,7 @@ COMPILE_DEPS = [ '//lib:CORE_DEPS', '//incubator/api:onos-incubator-api', '//apps/routing-api:onos-apps-routing-api', + '//apps/route-service/api:onos-apps-route-service-api', '//apps/intentsync:onos-apps-intentsync', '//lib:org.apache.karaf.shell.console', '//cli:onos-cli' @@ -15,8 +16,8 @@ BUNDLES = [ TEST_DEPS = [ '//lib:TEST_ADAPTERS', - '//incubator/api:onos-incubator-api-tests', '//apps/routing-api:onos-apps-routing-api-tests', + '//apps/route-service/api:onos-apps-route-service-api-tests', ] osgi_jar_with_tests ( @@ -30,5 +31,5 @@ onos_app ( url = 'http://onosproject.org', included_bundles = BUNDLES, description = 'SDN-IP peering application', - required_apps = [ 'org.onosproject.intentsynchronizer' ], + required_apps = [ 'org.onosproject.intentsynchronizer', 'org.onosproject.route-service' ], ) diff --git a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java index 84889249c0..9a4369e817 100644 --- a/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java +++ b/apps/sdnip/src/main/java/org/onosproject/sdnip/SdnIpFib.java @@ -34,10 +34,10 @@ import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceEvent; import org.onosproject.net.intf.InterfaceListener; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteService; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.EncapsulationType; import org.onosproject.net.FilteredConnectPoint; diff --git a/apps/sdnip/src/test/java/org/onosproject/sdnip/SdnIpFibTest.java b/apps/sdnip/src/test/java/org/onosproject/sdnip/SdnIpFibTest.java index d50aebcb4e..8a5868aed1 100644 --- a/apps/sdnip/src/test/java/org/onosproject/sdnip/SdnIpFibTest.java +++ b/apps/sdnip/src/test/java/org/onosproject/sdnip/SdnIpFibTest.java @@ -37,11 +37,11 @@ import org.onosproject.net.intf.InterfaceEvent; import org.onosproject.net.intf.InterfaceListener; import org.onosproject.net.intf.InterfaceService; import org.onosproject.net.intf.InterfaceServiceAdapter; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.Route; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteServiceAdapter; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.Route; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteServiceAdapter; import org.onosproject.intentsync.IntentSynchronizationService; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; diff --git a/apps/segmentrouting/BUCK b/apps/segmentrouting/BUCK index 3f4e968321..d06889746b 100644 --- a/apps/segmentrouting/BUCK +++ b/apps/segmentrouting/BUCK @@ -6,6 +6,7 @@ COMPILE_DEPS = [ '//core/store/serializers:onos-core-serializers', '//incubator/api:onos-incubator-api', '//utils/rest:onlab-rest', + '//apps/route-service/api:onos-apps-route-service-api', ] BUNDLES = [ @@ -29,4 +30,5 @@ onos_app ( url = 'http://onosproject.org', included_bundles = BUNDLES, description = 'Segment routing application.', + required_apps = [ 'org.onosproject.route-service' ], ) diff --git a/apps/segmentrouting/pom.xml b/apps/segmentrouting/pom.xml index c37c80a751..50149a0d05 100644 --- a/apps/segmentrouting/pom.xml +++ b/apps/segmentrouting/pom.xml @@ -107,6 +107,11 @@ test tests + + org.onosproject + onos-app-route-service-api + ${project.version} + diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IcmpHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IcmpHandler.java index 9402af55a0..017e7b0730 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IcmpHandler.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/IcmpHandler.java @@ -29,7 +29,7 @@ import org.onlab.packet.VlanId; import org.onlab.packet.ndp.NeighborSolicitation; import org.onosproject.net.neighbour.NeighbourMessageContext; import org.onosproject.net.neighbour.NeighbourMessageType; -import org.onosproject.incubator.net.routing.ResolvedRoute; +import org.onosproject.routeservice.ResolvedRoute; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.onosproject.net.flow.DefaultTrafficTreatment; diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RouteHandler.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RouteHandler.java index 3f7b8ad31f..c82b39b1e7 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RouteHandler.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/RouteHandler.java @@ -22,8 +22,8 @@ import com.google.common.collect.Sets; import org.onlab.packet.IpPrefix; import org.onlab.packet.MacAddress; import org.onlab.packet.VlanId; -import org.onosproject.incubator.net.routing.ResolvedRoute; -import org.onosproject.incubator.net.routing.RouteEvent; +import org.onosproject.routeservice.ResolvedRoute; +import org.onosproject.routeservice.RouteEvent; import org.onosproject.net.ConnectPoint; import org.onosproject.net.DeviceId; import org.slf4j.Logger; diff --git a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java index 1f63502f0c..0d1d68bb22 100644 --- a/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java +++ b/apps/segmentrouting/src/main/java/org/onosproject/segmentrouting/SegmentRoutingManager.java @@ -40,9 +40,9 @@ import org.onosproject.incubator.net.config.basics.InterfaceConfig; import org.onosproject.incubator.net.config.basics.McastConfig; import org.onosproject.net.intf.Interface; import org.onosproject.net.intf.InterfaceService; -import org.onosproject.incubator.net.routing.RouteEvent; -import org.onosproject.incubator.net.routing.RouteListener; -import org.onosproject.incubator.net.routing.RouteService; +import org.onosproject.routeservice.RouteEvent; +import org.onosproject.routeservice.RouteListener; +import org.onosproject.routeservice.RouteService; import org.onosproject.net.neighbour.NeighbourResolutionService; import org.onosproject.mastership.MastershipService; import org.onosproject.net.ConnectPoint; diff --git a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml index 55e4750747..8034a40129 100644 --- a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml +++ b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml @@ -564,19 +564,6 @@ - - - - - - - - - - - - - diff --git a/modules.defs b/modules.defs index 616bf2b6b0..fa8cba2a03 100644 --- a/modules.defs +++ b/modules.defs @@ -210,6 +210,7 @@ ONOS_APPS = [ '//apps/artemis:onos-apps-artemis-oar', '//apps/gluon:onos-apps-gluon-oar', '//apps/evpnopenflow:onos-apps-evpnopenflow-oar', + '//apps/route-service:onos-apps-route-service-oar', ] PROTOCOL_APPS = [ diff --git a/tools/build/publish-target-list b/tools/build/publish-target-list index c20196f8d7..a57b888f7a 100644 --- a/tools/build/publish-target-list +++ b/tools/build/publish-target-list @@ -3,6 +3,7 @@ //apps/optical-model:onos-apps-optical-model //apps/restconf/api:onos-apps-restconf-api //apps/routing-api:onos-apps-routing-api + //apps/route-service/api:onos-apps-route-service-api //cli:onos-cli //core/api:onos-api //core/common:onos-core-common