tom

Added more providers/of modules and javadocs.

Split onos-core feature into onos-api and onos-core.
...@@ -19,14 +19,19 @@ ...@@ -19,14 +19,19 @@
19 <bundle>mvn:com.sun.jersey/jersey-servlet/1.18.1</bundle> 19 <bundle>mvn:com.sun.jersey/jersey-servlet/1.18.1</bundle>
20 </feature> 20 </feature>
21 21
22 - <feature name="onos-core" version="1.0.0" 22 + <feature name="onos-api" version="1.0.0"
23 - description="ONOS core components"> 23 + description="ONOS services and model API">
24 <feature>scr</feature> 24 <feature>scr</feature>
25 <feature>onos-thirdparty-base</feature> 25 <feature>onos-thirdparty-base</feature>
26 <bundle>mvn:org.onlab.onos/onos-utils-osgi/1.0.0-SNAPSHOT</bundle> 26 <bundle>mvn:org.onlab.onos/onos-utils-osgi/1.0.0-SNAPSHOT</bundle>
27 <bundle>mvn:org.onlab.onos/onos-utils-rest/1.0.0-SNAPSHOT</bundle> 27 <bundle>mvn:org.onlab.onos/onos-utils-rest/1.0.0-SNAPSHOT</bundle>
28 28
29 <bundle>mvn:org.onlab.onos/onos-api/1.0.0-SNAPSHOT</bundle> 29 <bundle>mvn:org.onlab.onos/onos-api/1.0.0-SNAPSHOT</bundle>
30 + </feature>
31 +
32 + <feature name="onos-core" version="1.0.0"
33 + description="ONOS core components">
34 + <feature>onos-api</feature>
30 <bundle>mvn:org.onlab.onos/onos-core/1.0.0-SNAPSHOT</bundle> 35 <bundle>mvn:org.onlab.onos/onos-core/1.0.0-SNAPSHOT</bundle>
31 </feature> 36 </feature>
32 37
...@@ -60,6 +65,8 @@ ...@@ -60,6 +65,8 @@
60 <bundle>mvn:org.onlab.onos/onos-of-ctl/1.0.0-SNAPSHOT</bundle> 65 <bundle>mvn:org.onlab.onos/onos-of-ctl/1.0.0-SNAPSHOT</bundle>
61 66
62 <bundle>mvn:org.onlab.onos/onos-of-provider-device/1.0.0-SNAPSHOT</bundle> 67 <bundle>mvn:org.onlab.onos/onos-of-provider-device/1.0.0-SNAPSHOT</bundle>
68 + <bundle>mvn:org.onlab.onos/onos-of-provider-link/1.0.0-SNAPSHOT</bundle>
69 + <bundle>mvn:org.onlab.onos/onos-of-provider-host/1.0.0-SNAPSHOT</bundle>
63 </feature> 70 </feature>
64 71
65 </features> 72 </features>
......
...@@ -15,8 +15,8 @@ public interface DeviceProvider extends Provider { ...@@ -15,8 +15,8 @@ public interface DeviceProvider extends Provider {
15 * Triggers an asynchronous probe of the specified device, intended to 15 * Triggers an asynchronous probe of the specified device, intended to
16 * determine whether the host is present or not. An indirect result of this 16 * determine whether the host is present or not. An indirect result of this
17 * should be invocation of 17 * should be invocation of
18 - * {@link org.onlab.onos.net.device.DeviceProviderService#deviceConnected(DeviceDescription)} )} or 18 + * {@link org.onlab.onos.net.device.DeviceProviderService#deviceConnected} )} or
19 - * {@link org.onlab.onos.net.device.DeviceProviderService#deviceDisconnected(DeviceDescription)} 19 + * {@link org.onlab.onos.net.device.DeviceProviderService#deviceDisconnected}
20 * at some later point in time. 20 * at some later point in time.
21 * 21 *
22 * @param device device to be probed 22 * @param device device to be probed
......
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
261 <title>OpenFlow Providers &amp; Controller 261 <title>OpenFlow Providers &amp; Controller
262 </title> 262 </title>
263 <packages> 263 <packages>
264 - org.onlab.onos.net.provider.of:org.onlab.onos.net.provider.of.*:org.onlab.onos.of.* 264 + org.onlab.onos.provider.of.*:org.onlab.onos.of.*
265 </packages> 265 </packages>
266 </group> 266 </group>
267 <group> 267 <group>
......
...@@ -16,7 +16,8 @@ import org.slf4j.Logger; ...@@ -16,7 +16,8 @@ import org.slf4j.Logger;
16 import org.slf4j.LoggerFactory; 16 import org.slf4j.LoggerFactory;
17 17
18 /** 18 /**
19 - * Device provider which uses an OpenFlow controller to detect devices. 19 + * Device provider which uses an OpenFlow controller to detect network
20 + * infrastructure devices.
20 */ 21 */
21 @Component 22 @Component
22 public class OpenFlowDeviceProvider extends AbstractProvider implements DeviceProvider { 23 public class OpenFlowDeviceProvider extends AbstractProvider implements DeviceProvider {
...@@ -54,7 +55,7 @@ public class OpenFlowDeviceProvider extends AbstractProvider implements DevicePr ...@@ -54,7 +55,7 @@ public class OpenFlowDeviceProvider extends AbstractProvider implements DevicePr
54 55
55 @Override 56 @Override
56 public void triggerProbe(Device device) { 57 public void triggerProbe(Device device) {
57 - log.info("Triggerring probe on device {}", device.id()); 58 + log.info("Triggering probe on device {}", device.id());
58 } 59 }
59 60
60 @Override 61 @Override
......
1 +<body>
2 +Provider that uses OpenFlow controller as a means of infrastructure device discovery.
3 +</body>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5 + <modelVersion>4.0.0</modelVersion>
6 +
7 + <parent>
8 + <groupId>org.onlab.onos</groupId>
9 + <artifactId>onos-of-providers</artifactId>
10 + <version>1.0.0-SNAPSHOT</version>
11 + <relativePath>../pom.xml</relativePath>
12 + </parent>
13 +
14 + <artifactId>onos-of-provider-host</artifactId>
15 + <packaging>bundle</packaging>
16 +
17 + <description>ONOS OpenFlow protocol host provider</description>
18 +
19 +</project>
1 +package org.onlab.onos.provider.of.host.impl;
2 +
3 +import org.apache.felix.scr.annotations.Activate;
4 +import org.apache.felix.scr.annotations.Component;
5 +import org.apache.felix.scr.annotations.Deactivate;
6 +import org.apache.felix.scr.annotations.Reference;
7 +import org.apache.felix.scr.annotations.ReferenceCardinality;
8 +import org.onlab.onos.net.Host;
9 +import org.onlab.onos.net.host.HostProvider;
10 +import org.onlab.onos.net.host.HostProviderBroker;
11 +import org.onlab.onos.net.host.HostProviderService;
12 +import org.onlab.onos.net.provider.AbstractProvider;
13 +import org.onlab.onos.net.provider.ProviderId;
14 +import org.slf4j.Logger;
15 +import org.slf4j.LoggerFactory;
16 +
17 +/**
18 + * Device provider which uses an OpenFlow controller to detect network
19 + * end-station hosts.
20 + */
21 +@Component
22 +public class OpenFlowHostProvider extends AbstractProvider implements HostProvider {
23 +
24 + private final Logger log = LoggerFactory.getLogger(OpenFlowHostProvider.class);
25 +
26 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
27 + protected HostProviderBroker providerBroker;
28 +
29 + private HostProviderService providerService;
30 +
31 +// @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
32 +// protected OpenFlowController controller;
33 +
34 + /**
35 + * Creates an OpenFlow host provider.
36 + */
37 + public OpenFlowHostProvider() {
38 + super(new ProviderId("org.onlab.onos.provider.of.host"));
39 + }
40 +
41 + @Activate
42 + public void activate() {
43 + providerService = providerBroker.register(this);
44 + log.info("Started");
45 + }
46 +
47 + @Deactivate
48 + public void deactivate() {
49 + providerBroker.unregister(this);
50 + providerService = null;
51 + log.info("Stopped");
52 + }
53 +
54 + @Override
55 + public void triggerProbe(Host host) {
56 + log.info("Triggering probe on device {}", host);
57 + }
58 +}
1 +<body>
2 +Provider that uses OpenFlow controller as a means of host discovery and tracking.
3 +</body>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project xmlns="http://maven.apache.org/POM/4.0.0"
3 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5 + <modelVersion>4.0.0</modelVersion>
6 +
7 + <parent>
8 + <groupId>org.onlab.onos</groupId>
9 + <artifactId>onos-of-providers</artifactId>
10 + <version>1.0.0-SNAPSHOT</version>
11 + <relativePath>../pom.xml</relativePath>
12 + </parent>
13 +
14 + <artifactId>onos-of-provider-link</artifactId>
15 + <packaging>bundle</packaging>
16 +
17 + <description>ONOS OpenFlow protocol link provider</description>
18 +
19 +</project>
1 +package org.onlab.onos.provider.of.link.impl;
2 +
3 +import org.apache.felix.scr.annotations.Activate;
4 +import org.apache.felix.scr.annotations.Component;
5 +import org.apache.felix.scr.annotations.Deactivate;
6 +import org.apache.felix.scr.annotations.Reference;
7 +import org.apache.felix.scr.annotations.ReferenceCardinality;
8 +import org.onlab.onos.net.link.LinkProvider;
9 +import org.onlab.onos.net.link.LinkProviderBroker;
10 +import org.onlab.onos.net.link.LinkProviderService;
11 +import org.onlab.onos.net.provider.AbstractProvider;
12 +import org.onlab.onos.net.provider.ProviderId;
13 +import org.slf4j.Logger;
14 +import org.slf4j.LoggerFactory;
15 +
16 +/**
17 + * Device provider which uses an OpenFlow controller to detect network
18 + * infrastructure links.
19 + */
20 +@Component
21 +public class OpenFlowLinkProvider extends AbstractProvider implements LinkProvider {
22 +
23 + private final Logger log = LoggerFactory.getLogger(OpenFlowLinkProvider.class);
24 +
25 + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
26 + protected LinkProviderBroker providerBroker;
27 +
28 + private LinkProviderService providerService;
29 +
30 +// @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
31 +// protected OpenFlowController controller;
32 +
33 + /**
34 + * Creates an OpenFlow link provider.
35 + */
36 + public OpenFlowLinkProvider() {
37 + super(new ProviderId("org.onlab.onos.provider.of.link"));
38 + }
39 +
40 + @Activate
41 + public void activate() {
42 + providerService = providerBroker.register(this);
43 + log.info("Started");
44 + }
45 +
46 + @Deactivate
47 + public void deactivate() {
48 + providerBroker.unregister(this);
49 + providerService = null;
50 + log.info("Stopped");
51 + }
52 +
53 +}
1 +<body>
2 +Provider that uses OpenFlow controller as a means of infrastructure link inference.
3 +</body>
...\ No newline at end of file ...\ No newline at end of file
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
18 18
19 <modules> 19 <modules>
20 <module>device</module> 20 <module>device</module>
21 + <module>link</module>
22 + <module>host</module>
21 </modules> 23 </modules>
22 24
23 <dependencies> 25 <dependencies>
......