diff options
Diffstat (limited to 'framework/src/onos/docs')
25 files changed, 418 insertions, 0 deletions
diff --git a/framework/src/onos/docs/external-apis b/framework/src/onos/docs/external-apis new file mode 100644 index 00000000..4e18664b --- /dev/null +++ b/framework/src/onos/docs/external-apis @@ -0,0 +1,3 @@ +org.onosproject +org.onosproject.* +org.onosproject.rest
\ No newline at end of file diff --git a/framework/src/onos/docs/external-excludes b/framework/src/onos/docs/external-excludes new file mode 100644 index 00000000..34329f19 --- /dev/null +++ b/framework/src/onos/docs/external-excludes @@ -0,0 +1,51 @@ +*.impl +*.impl.* + +org.onlab.jdvue* +org.onlab.stc* + +org.onlab.thirdparty +org.onosproject.provider* +org.onosproject.rest +org.onosproject.cli* +org.onosproject.tvue +org.onosproject.dhcp +org.onosproject.foo +org.onosproject.mobility +org.onosproject.proxyarp +org.onosproject.fwd +org.onosproject.ifwd +org.onosproject.optical +org.onosproject.config +org.onosproject.calendar +org.onosproject.sdnip* +org.onosproject.oecfg +org.onosproject.metrics +org.onosproject.store.ecmap +org.onosproject.store.flow +org.onosproject.store.serializers* +org.onosproject.openflow* +org.onosproject.common* +org.onosproject.routing* +org.onosproject.bgprouter +org.onosproject.intentperf +org.onosproject.maven +org.onosproject.cordfabric* +org.onosproject.driver* +org.onosproject.segmentrouting* +org.onosproject.reactive* +org.onosproject.distributedprimitives* +org.onosproject.messagingperf* +org.onosproject.virtualbng* +org.onosproject.election* +org.onosproject.demo* +org.onosproject.xosintegration* +org.onosproject.app.vtn* +org.onosproject.ovsdb* +org.onosproject.pcep* +org.onosproject.aaa +org.onosproject.acl* +org.onosproject.cip* +org.onos.acl* +org.onosproject.vtn* +org.onosproject.flowanalyzer diff --git a/framework/src/onos/docs/external-incubator-apis b/framework/src/onos/docs/external-incubator-apis new file mode 100644 index 00000000..1e3bd7a3 --- /dev/null +++ b/framework/src/onos/docs/external-incubator-apis @@ -0,0 +1,2 @@ +org.onosproject.exp +org.onosproject.incubator.* diff --git a/framework/src/onos/docs/external.xml b/framework/src/onos/docs/external.xml new file mode 100644 index 00000000..1f020548 --- /dev/null +++ b/framework/src/onos/docs/external.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright 2014 Open Networking Laboratory + ~ + ~ 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/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <prerequisites> + <maven>3.0.0</maven> + </prerequisites> + + <parent> + <groupId>org.onosproject</groupId> + <artifactId>onos</artifactId> + <version>1.3.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>onos-docs-external</artifactId> + <packaging>pom</packaging> + + <description>ONOS Java API documentation</description> + + <modules> + <module>..</module> + </modules> + + <url>http://onosproject.org/</url> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.1</version> + <configuration> + <show>package</show> + <excludePackageNames>@external-excludes</excludePackageNames> + <docfilessubdirs>true</docfilessubdirs> + <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle> + <groups> + <group> + <title>Network Model & Services</title> + <packages>@external-apis</packages> + </group> + <group> + <title>Incubator for Network Model & Services</title> + <packages>@external-incubator-apis</packages> + </group> + <group> + <title>Utilities</title> + <packages>@utils</packages> + </group> + </groups> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/framework/src/onos/docs/internal-apis b/framework/src/onos/docs/internal-apis new file mode 100644 index 00000000..9d8079a5 --- /dev/null +++ b/framework/src/onos/docs/internal-apis @@ -0,0 +1,4 @@ +org.onosproject +org.onosproject.* +org.onosproject.rest +org.onosproject.security diff --git a/framework/src/onos/docs/internal-apps b/framework/src/onos/docs/internal-apps new file mode 100644 index 00000000..8c4a493f --- /dev/null +++ b/framework/src/onos/docs/internal-apps @@ -0,0 +1,27 @@ +org.onosproject.app.* + +org.onos.acl* +org.onosproject.acl* +org.onosproject.aaa +org.onosproject.fwd +org.onosproject.dhcp* +org.onosproject.flowanalyzer +org.onosproject.mobility +org.onosproject.proxyarp +org.onosproject.calendar +org.onosproject.olt* +org.onosproject.optical* +org.onosproject.sdnip +org.onosproject.sdnip.* +org.onosproject.config +org.onosproject.routing +org.onosproject.routing* +org.onosproject.bgprouter +org.onosproject.segmentrouting* +org.onosproject.reactive.routing* +org.onosproject.messagingperf +org.onosproject.virtualbng* +org.onosproject.cordfabric* +org.onosproject.xosintegration* +org.onosproject.cip* +org.onosproject.vtn* diff --git a/framework/src/onos/docs/internal-core b/framework/src/onos/docs/internal-core new file mode 100644 index 00000000..8f242822 --- /dev/null +++ b/framework/src/onos/docs/internal-core @@ -0,0 +1,7 @@ +*.impl +*.impl.* + +org.onosproject.json +org.onosproject.json.* +:org.onosproject.common.* +org.onosproject.security.* diff --git a/framework/src/onos/docs/internal-drivers b/framework/src/onos/docs/internal-drivers new file mode 100644 index 00000000..fb2dea44 --- /dev/null +++ b/framework/src/onos/docs/internal-drivers @@ -0,0 +1,2 @@ +org.onosproject.driver +org.onosproject.driver.* diff --git a/framework/src/onos/docs/internal-excludes b/framework/src/onos/docs/internal-excludes new file mode 100644 index 00000000..9876ccea --- /dev/null +++ b/framework/src/onos/docs/internal-excludes @@ -0,0 +1,5 @@ +org.onlab.jdvue* +org.onlab.stc* +org.onlab.thirdparty +org.onosproject.oecfg +org.onosproject.maven diff --git a/framework/src/onos/docs/internal-gui-rest-cli b/framework/src/onos/docs/internal-gui-rest-cli new file mode 100644 index 00000000..7b529c00 --- /dev/null +++ b/framework/src/onos/docs/internal-gui-rest-cli @@ -0,0 +1,4 @@ +org.onosproject.ui.impl* +org.onosproject.rest.* +org.onosproject.cli* +org.onosproject.codec.impl diff --git a/framework/src/onos/docs/internal-incubator b/framework/src/onos/docs/internal-incubator new file mode 100644 index 00000000..619bbb90 --- /dev/null +++ b/framework/src/onos/docs/internal-incubator @@ -0,0 +1,9 @@ +org.onosproject.incubator.net.impl +org.onosproject.incubator.store.impl +org.onosproject.incubator.net.resource.label.impl +org.onosproject.incubator.store.resource.impl +org.onosproject.incubator.net.tunnel.impl +org.onosproject.incubator.store.tunnel.impl +org.onosproject.incubator.net.config.impl +org.onosproject.incubator.net.domain.impl +org.onosproject.incubator.store.config.impl diff --git a/framework/src/onos/docs/internal-incubator-apis b/framework/src/onos/docs/internal-incubator-apis new file mode 100644 index 00000000..df9ddbcc --- /dev/null +++ b/framework/src/onos/docs/internal-incubator-apis @@ -0,0 +1 @@ +org.onosproject.incubator* diff --git a/framework/src/onos/docs/internal-netconf b/framework/src/onos/docs/internal-netconf new file mode 100644 index 00000000..40c159f4 --- /dev/null +++ b/framework/src/onos/docs/internal-netconf @@ -0,0 +1 @@ +org.onosproject.provider.netconf* diff --git a/framework/src/onos/docs/internal-openflow b/framework/src/onos/docs/internal-openflow new file mode 100644 index 00000000..c84cf137 --- /dev/null +++ b/framework/src/onos/docs/internal-openflow @@ -0,0 +1,2 @@ +org.onosproject.openflow.* +org.onosproject.provider.of.* diff --git a/framework/src/onos/docs/internal-ovsdb b/framework/src/onos/docs/internal-ovsdb new file mode 100644 index 00000000..4b4ccb77 --- /dev/null +++ b/framework/src/onos/docs/internal-ovsdb @@ -0,0 +1,2 @@ +org.onosproject.provider.ovsdb* +org.onosproject.ovsdb* diff --git a/framework/src/onos/docs/internal-pcep b/framework/src/onos/docs/internal-pcep new file mode 100644 index 00000000..8d105144 --- /dev/null +++ b/framework/src/onos/docs/internal-pcep @@ -0,0 +1,2 @@ +org.onosproject.pcep* +org.onosproject.pcepio* diff --git a/framework/src/onos/docs/internal-providers b/framework/src/onos/docs/internal-providers new file mode 100644 index 00000000..832fb247 --- /dev/null +++ b/framework/src/onos/docs/internal-providers @@ -0,0 +1 @@ +org.onosproject.provider.* diff --git a/framework/src/onos/docs/internal-stores b/framework/src/onos/docs/internal-stores new file mode 100644 index 00000000..13c00431 --- /dev/null +++ b/framework/src/onos/docs/internal-stores @@ -0,0 +1 @@ +org.onosproject.store.* diff --git a/framework/src/onos/docs/internal-test-apps b/framework/src/onos/docs/internal-test-apps new file mode 100644 index 00000000..bc5276cf --- /dev/null +++ b/framework/src/onos/docs/internal-test-apps @@ -0,0 +1,7 @@ +org.onosproject.metrics.* +org.onosproject.demo* +org.onosproject.election* +org.onosproject.distributedprimitives* +org.onosproject.intentperf* +org.onosproject.messagingperf* +org.onosproject.optical.testapp* diff --git a/framework/src/onos/docs/internal.xml b/framework/src/onos/docs/internal.xml new file mode 100644 index 00000000..bcb1215d --- /dev/null +++ b/framework/src/onos/docs/internal.xml @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ Copyright 2014 Open Networking Laboratory + ~ + ~ 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/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <prerequisites> + <maven>3.0.0</maven> + </prerequisites> + + <parent> + <groupId>org.onosproject</groupId> + <artifactId>onos</artifactId> + <version>1.3.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>onos-docs</artifactId> + <packaging>pom</packaging> + + <description>ONOS Java API documentation</description> + + <modules> + <module>..</module> + </modules> + + <url>http://onosproject.org/</url> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.3</version> + <configuration> + <show>package</show> + <docfilessubdirs>true</docfilessubdirs> + <doctitle>ONOS Java API (1.3.0-SNAPSHOT)</doctitle> + <excludePackageNames>@internal-excludes</excludePackageNames> + <groups> + <group> + <title>Network Model & Services</title> + <packages>@internal-apis</packages> + </group> + <group> + <title>Incubator for Network Model & Services</title> + <packages>@internal-incubator-apis</packages> + </group> + <group> + <title>Core Subsystems</title> + <packages>@internal-core</packages> + </group> + <group> + <title>Distributed Stores</title> + <packages>@internal-stores</packages> + </group> + <group> + <title>Incubator for Core Subsystems & Distributed Stores</title> + <packages>@internal-incubator</packages> + </group> + <group> + <title>OpenFlow Providers & Controller</title> + <packages>@internal-openflow</packages> + </group> + <group> + <title>NetConf Providers</title> + <packages>@internal-netconf</packages> + </group> + <group> + <title>OVSDB Providers</title> + <packages>@internal-ovsdb</packages> + </group> + <group> + <title>PCEP Providers</title> + <packages>@internal-pcep</packages> + </group> + <group> + <title>Other Providers</title> + <packages>@internal-providers</packages> + </group> + <group> + <title>Built-in Device Drivers</title> + <packages>@internal-drivers</packages> + </group> + <group> + <title>Utilities</title> + <packages>@utils</packages> + </group> + <group> + <title>GUI, REST & Command-Line</title> + <packages>@internal-gui-rest-cli</packages> + </group> + <group> + <title>Builtin Applications</title> + <packages>@internal-apps</packages> + </group> + <group> + <title>Test Instrumentation & Applications</title> + <packages>@internal-test-apps</packages> + </group> + </groups> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystem.png b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystem.png Binary files differnew file mode 100644 index 00000000..1b16b0b5 --- /dev/null +++ b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystem.png diff --git a/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystems.png b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystems.png Binary files differnew file mode 100644 index 00000000..a6100c52 --- /dev/null +++ b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-subsystems.png diff --git a/framework/src/onos/docs/src/main/javadoc/doc-files/onos-tiers.png b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-tiers.png Binary files differnew file mode 100644 index 00000000..bbacfc8d --- /dev/null +++ b/framework/src/onos/docs/src/main/javadoc/doc-files/onos-tiers.png diff --git a/framework/src/onos/docs/src/main/javadoc/overview.html b/framework/src/onos/docs/src/main/javadoc/overview.html new file mode 100644 index 00000000..d3712ab4 --- /dev/null +++ b/framework/src/onos/docs/src/main/javadoc/overview.html @@ -0,0 +1,90 @@ +<!-- + ~ Copyright 2014 Open Networking Laboratory + ~ + ~ 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. + --> +<html> +<body> +<p> + ONOS architecture is strictly segmented into a <em>protocol-agnostic system + core</em> tier and the <em>protocol-aware providers</em> tier as shown in + the figure below:<br> + <img src="doc-files/onos-tiers.png" alt="ONOS architecture tiers"> +</p> + +<p> + The <em>ONOS core</em> is responsible for tracking information about the + network environment and distributing it to the applications either + synchronously via query or asynchronously via listener callbacks. The + core is also responsible for persisting select state and synchronizing state + among the cluster peers. +</p> + +<p> + The <em>protocol-aware providers</em> are responsible for interacting with + the network environment using various control and configuration protocols + and supplying such sensory data to the core. Some providers may also need to + accept control edicts from the core and apply them to the environment + using the appropriate protocol-specific means. +</p> + +<p> + The figure below provides a visual inventory of the various ONOS subsystems. + The ones with the gray outline represent either work in progress features + planned for release in 2015.<br> + <img src="doc-files/onos-subsystems.png" alt="ONOS architecture tiers"> + +</p> + +<p> + The following diagram describes the general structure of each ONOS subsystem: + <br> + <img src="doc-files/onos-subsystem.png" alt="ONOS subsystem structure"><br> + For example, the device-subsystem comprises of a core + {@link org.onosproject.net.device.impl.DeviceManager}, + which exposes a north-bound + {@link org.onosproject.net.device.DeviceService} through which applications or other core components + can learn about the global infrastructure device inventory and through + which they can also subscribe for asynchronous {@link org.onosproject.net.device.DeviceEvent} + notifications via the {@link org.onosproject.net.device.DeviceListener} mechanism. A set of + administrative actions can be performed via {@link org.onosproject.net.device.DeviceAdminService}, + e.g. setting mastership role, removing a decommissioned device. +</p> + +<p> + On the south-bound side, the core {@link org.onosproject.net.device.impl.DeviceManager} + exposes a {@link org.onosproject.net.device.DeviceProviderRegistry} through which any number of + {@link org.onosproject.net.device.DeviceProvider} entities can register and in turn obtain a + {@link org.onosproject.net.device.DeviceProviderService}. Device and port information can then be + supplied to the core by each provider through the provider service issued + to them. When a provider unregisters, its {@link org.onosproject.net.device.DeviceProviderService} + will be invalidated and can no longer be used for interacting with the + core. +</p> + +<p> + Within the core, the tasks of indexing, persisting and synchronizing the + global device and port state with the cluster peers falls on the + {@link org.onosproject.net.device.DeviceStore}. +</p> + +<p> + Similar structure applies to the link subsystem, host subsystem and others. +</p> + +<p> + <em>More information to come later...</em> +</p> + +</body> +</html> diff --git a/framework/src/onos/docs/utils b/framework/src/onos/docs/utils new file mode 100644 index 00000000..b4efc06f --- /dev/null +++ b/framework/src/onos/docs/utils @@ -0,0 +1 @@ +org.onlab.* |