Move routing from incubator to a separate app

Change-Id: I961d10af99c572b1f8d9b3d37c6f52dd04422007
This commit is contained in:
Ray Milkey 2017-08-08 13:00:43 -07:00
parent 4c30ea3979
commit 69ec87142c
87 changed files with 618 additions and 178 deletions

View File

@ -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' ],
)

View File

@ -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' ],
)

View File

@ -61,7 +61,7 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-junit</artifactId>
@ -114,5 +114,10 @@
<artifactId>onos-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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;

View File

@ -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' ],
)

View File

@ -105,5 +105,10 @@
<artifactId>onos-app-vtn-rsc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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());
}
}
}

View File

@ -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' ],
)

View File

@ -85,6 +85,11 @@
<artifactId>org.apache.felix.scr.annotations</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -89,8 +89,9 @@
<module>yang</module>
<module>openroadm</module>
<module>netconf/client</module>
<module>gluon</module>
<module>gluon</module>
<module>evpnopenflow</module>
<module>route-service</module>
</modules>
<properties>

View File

@ -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'],
)

View File

@ -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.

View File

@ -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;

11
apps/route-service/BUCK Normal file
View File

@ -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,
)

View File

@ -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,
)

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onos-app-route-service</artifactId>
<groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version>
</parent>
<artifactId>onos-app-route-service-api</artifactId>
<packaging>bundle</packaging>
<url>http://onosproject.org</url>
<description>Route Service Application API</description>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-core-serializers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-api</artifactId>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import org.onosproject.event.AbstractEvent;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import java.util.Collection;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import org.onosproject.event.EventListener;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import org.onosproject.store.StoreDelegate;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import java.util.Objects;

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import org.onlab.packet.IpPrefix;

View File

@ -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;

View File

@ -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) {
}
}
}
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.onosproject.incubator.net.routing;
package org.onosproject.routeservice;
import org.onlab.packet.IpAddress;

View File

@ -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;

View File

@ -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,
)

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
-->
<app name="org.onosproject.routeservice" origin="ON.Lab" version="${project.version}"
category="Utility" url="http://onosproject.org" title="Route Service App"
featuresRepo="mvn:${project.groupId}/${project.artifactId}/${project.version}/xml/features"
features="${project.artifactId}">
<description>${project.description}</description>
<artifact>mvn:${project.groupId}/${project.artifactId}/${project.version}</artifact>
<artifact>mvn:${project.groupId}/onos-app-route-service-api/${project.version}</artifact>
</app>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
~ 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.
-->
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0" name="${project.artifactId}-${project.version}">
<feature name="${project.artifactId}" version="${project.version}"
description="${project.description}">
<feature>onos-api</feature>
<bundle>mvn:${project.groupId}/onos-app-route-service-api/${project.version}</bundle>
<bundle>mvn:${project.groupId}/onos-app-route-service/${project.version}</bundle>
</feature>
</features>

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onos-app-route-service</artifactId>
<groupId>org.onosproject</groupId>
<version>1.11.0-SNAPSHOT</version>
</parent>
<artifactId>onos-app-route-service-app</artifactId>
<packaging>bundle</packaging>
<url>http://onosproject.org</url>
<description>Route Service Application</description>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onlab-junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-core-serializers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-incubator-api</artifactId>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-cli</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.console</artifactId>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-api</artifactId>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.concurrent-trees</groupId>
<artifactId>concurrent-trees</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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;

View File

@ -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());
}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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<InternalRouteEvent, RouteStor
return;
}
routeTable.put(createBinaryString(route.prefix()), route);
routeTable.put(RouteTools.createBinaryString(route.prefix()), route);
notifyDelegate(new InternalRouteEvent(
InternalRouteEvent.Type.ROUTE_ADDED, singletonRouteSet(route)));
@ -165,7 +165,7 @@ public class LocalRouteStore extends AbstractStore<InternalRouteEvent, RouteStor
public void remove(Route route) {
synchronized (this) {
Route removed = routes.remove(route.prefix());
routeTable.remove(createBinaryString(route.prefix()));
routeTable.remove(RouteTools.createBinaryString(route.prefix()));
if (removed != null) {
notifyDelegate(new InternalRouteEvent(
@ -228,7 +228,7 @@ public class LocalRouteStore extends AbstractStore<InternalRouteEvent, RouteStor
*/
public Route longestPrefixMatch(IpAddress ip) {
Iterable<Route> prefixes =
routeTable.getValuesForKeysPrefixing(createBinaryString(ip.toIpPrefix()));
routeTable.getValuesForKeysPrefixing(RouteTools.createBinaryString(ip.toIpPrefix()));
Iterator<Route> it = prefixes.iterator();

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -0,0 +1,35 @@
<!--
~ Copyright 2014-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.
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
<command>
<action class="org.onosproject.routeservice.cli.RoutesListCommand"/>
</command>
<command>
<action class="org.onosproject.routeservice.cli.RouteAddCommand"/>
</command>
<command>
<action class="org.onosproject.routeservice.cli.RouteRemoveCommand"/>
</command>
<command>
<action class="org.onosproject.routeservice.cli.RouteStoreCommand"/>
</command>
</command-bundle>
</blueprint>

View File

@ -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;

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ 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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onosproject</groupId>
<artifactId>onos-apps</artifactId>
<version>1.11.0-SNAPSHOT</version>
</parent>
<artifactId>onos-app-route-service</artifactId>
<packaging>pom</packaging>
<description>Route Service Application</description>
<modules>
<module>api</module>
<module>app</module>
</modules>
</project>

View File

@ -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',
]

View File

@ -86,6 +86,11 @@
<artifactId>concurrent-trees</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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' ],
)

View File

@ -26,6 +26,13 @@
<artifactId>onos-apps-routing-fibinstaller</artifactId>
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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;

View File

@ -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' ],
)

View File

@ -49,6 +49,11 @@
<artifactId>onos-core-serializers</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -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;

View File

@ -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' ],
)

View File

@ -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;

View File

@ -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;

View File

@ -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' ],
)

View File

@ -107,6 +107,11 @@
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.onosproject</groupId>
<artifactId>onos-app-route-service-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -564,19 +564,6 @@
<action class="org.onosproject.cli.net.WipeOutCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RoutesListCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RouteAddCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RouteRemoveCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.RouteStoreCommand"/>
</command>
<command>
<action class="org.onosproject.cli.net.GlobalLabelCommand"/>
</command>

View File

@ -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 = [

View File

@ -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