Merge branch 'master' of ssh://gerrit.onlab.us:29418/onos-next
diff --git a/.gitignore b/.gitignore
index 411d0ed..37366d9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,5 @@
.javacp*
target
*.iml
+dependency-reduced-pom.xml
.idea
diff --git a/features/features.xml b/features/features.xml
index 1c8f985..92bff44 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -6,7 +6,6 @@
<feature name="onos-thirdparty-base" version="1.0.0"
description="ONOS 3rd party dependencies">
<bundle>mvn:com.google.guava/guava/17.0</bundle>
- <bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
</feature>
<feature name="onos-thirdparty-web" version="1.0.0"
@@ -55,7 +54,6 @@
description="ONOS OpenFlow API, Controller & Providers">
<feature>onos-core</feature>
<bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
- <bundle>mvn:com.google.guava/guava/15.0</bundle>
<bundle>mvn:org.onlab.onos/openflow-api/1.0.0-SNAPSHOT</bundle>
<bundle>mvn:org.onlab.onos/openflow-ctl/1.0.0-SNAPSHOT</bundle>
diff --git a/net/api/src/main/java/org/onlab/onos/event/AbstractEvent.java b/net/api/src/main/java/org/onlab/onos/event/AbstractEvent.java
new file mode 100644
index 0000000..db688e6
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/event/AbstractEvent.java
@@ -0,0 +1,51 @@
+package org.onlab.onos.event;
+
+/**
+ * Base abstraction of an event.
+ */
+public class AbstractEvent<T extends Enum, S extends Object> implements Event<T, S> {
+
+ private final long time;
+ private final T type;
+ private S subject;
+
+ /**
+ * Creates an event of a given type and for the specified subject and the
+ * current time.
+ *
+ * @param type event type
+ * @param subject event subject
+ */
+ protected AbstractEvent(T type, S subject) {
+ this(type, subject, System.currentTimeMillis());
+ }
+
+ /**
+ * Creates an event of a given type and for the specified subject and time.
+ *
+ * @param type event type
+ * @param subject event subject
+ * @param time occurrence time
+ */
+ protected AbstractEvent(T type, S subject, long time) {
+ this.type = type;
+ this.subject = subject;
+ this.time = time;
+ }
+
+ @Override
+ public long time() {
+ return time;
+ }
+
+ @Override
+ public T type() {
+ return type;
+ }
+
+ @Override
+ public S subject() {
+ return subject;
+ }
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/event/Event.java b/net/api/src/main/java/org/onlab/onos/event/Event.java
new file mode 100644
index 0000000..1cd49cd
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/event/Event.java
@@ -0,0 +1,30 @@
+package org.onlab.onos.event;
+
+/**
+ * Abstraction of an event.
+ */
+public interface Event<T extends Enum, S extends Object> {
+
+ /**
+ * Returns the timestamp of when the event occurred, given in milliseconds
+ * since the start of epoch.
+ *
+ * @return timestamp in milliseconds
+ */
+ long time();
+
+ /**
+ * Returns the type of the event.
+ *
+ * @return event type
+ */
+ T type();
+
+ /**
+ * Returns the subject of the event.
+ *
+ * @return subject to which this event pertains
+ */
+ S subject();
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/event/EventListener.java b/net/api/src/main/java/org/onlab/onos/event/EventListener.java
new file mode 100644
index 0000000..1e0d7e6
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/event/EventListener.java
@@ -0,0 +1,15 @@
+package org.onlab.onos.event;
+
+/**
+ * Entity capable of receiving events.
+ */
+public interface EventListener<E extends Event> {
+
+ /**
+ * Reacts to the specified event.
+ *
+ * @param event event to be processed
+ */
+ void event(E event);
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/Device.java b/net/api/src/main/java/org/onlab/onos/net/Device.java
new file mode 100644
index 0000000..c649479
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/Device.java
@@ -0,0 +1,14 @@
+package org.onlab.onos.net;
+
+/**
+ * Representation of an network infrastructure device.
+ */
+public class Device {
+
+ // type, e.g. switch, router, firewall, ips, controller
+
+ // id (uri within)
+
+ // ports
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/Host.java b/net/api/src/main/java/org/onlab/onos/net/Host.java
new file mode 100644
index 0000000..15badc5
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/Host.java
@@ -0,0 +1,12 @@
+package org.onlab.onos.net;
+
+/**
+ * Abstraction of an end-station host on the network, essentially a NIC.
+ */
+public class Host {
+
+ // MAC, IP(s), optional VLAN ID
+
+ // Location (current, recent locations?
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/MastershipRole.java b/net/api/src/main/java/org/onlab/onos/net/MastershipRole.java
new file mode 100644
index 0000000..10d53ad
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/MastershipRole.java
@@ -0,0 +1,27 @@
+package org.onlab.onos.net;
+
+/**
+ * Representation of a relationship role of a controller instance to a device
+ * or a region of network environment.
+ */
+public enum MastershipRole {
+
+ /**
+ * Represents a relationship where the controller instance is the master
+ * to a device or a region of network environment.
+ */
+ MASTER,
+
+ /**
+ * Represents a relationship where the controller instance is the standby,
+ * i.e. potential master to a device or a region of network environment.
+ */
+ STANDBY,
+
+ /**
+ * Represents that the controller instance is not eligible to be the master
+ * to a device or a region of network environment.
+ */
+ NONE
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java
new file mode 100644
index 0000000..d82ae42
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java
@@ -0,0 +1,56 @@
+package org.onlab.onos.net.device;
+
+import org.onlab.onos.event.AbstractEvent;
+import org.onlab.onos.net.Device;
+
+/**
+ * Describes infrastructure device event.
+ */
+public class DeviceEvent extends AbstractEvent<DeviceEvent.Type, Device> {
+
+ /**
+ * Type of device events.
+ */
+ public enum Type {
+ /** Signifies that a new device has been detected. */
+ DEVICE_ADDED,
+
+ /** Signifies that a device has been removed. */
+ DEVICE_REMOVED,
+
+ /** Signifies that a device has been administratively suspended. */
+ DEVICE_SUSPENDED,
+
+ /** Signifies that a device has come online or has gone offline. */
+ DEVICE_AVAILABILITY_CHANGED,
+
+ /**
+ * Signifies that the current controller instance relationship has
+ * changed with respect to a device.
+ */
+ DEVICE_MASTERSHIP_CHANGED
+ }
+
+ /**
+ * Creates an event of a given type and for the specified subject and the
+ * current time.
+ *
+ * @param type event type
+ * @param subject event subject
+ */
+ public DeviceEvent(Type type, Device subject) {
+ super(type, subject);
+ }
+
+ /**
+ * Creates an event of a given type and for the specified subject and time.
+ *
+ * @param type event type
+ * @param subject event subject
+ * @param time occurrence time
+ */
+ public DeviceEvent(Type type, Device subject, long time) {
+ super(type, subject, time);
+ }
+
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceListener.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceListener.java
new file mode 100644
index 0000000..232fc95
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceListener.java
@@ -0,0 +1,7 @@
+package org.onlab.onos.net.device;
+
+/**
+ * Entity capable of receiving device related events.
+ */
+public interface DeviceListener {
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
index 04ca92c..a571a58 100644
--- a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProvider.java
@@ -1,9 +1,35 @@
package org.onlab.onos.net.device;
-import org.onlab.onos.net.Provider;
+import org.onlab.onos.net.Device;
+import org.onlab.onos.net.MastershipRole;
+import org.onlab.onos.net.provider.Provider;
/**
* Abstraction of a device information provider.
*/
public interface DeviceProvider extends Provider {
+
+ // TODO: consider how dirty the triggerProbe gets; if it costs too much, let's drop it
+
+ /**
+ * Triggers an asynchronous probe of the specified device, intended to
+ * determine whether the host is present or not. An indirect result of this
+ * should be invocation of
+ * {@link org.onlab.onos.net.device.DeviceProviderService#deviceConnected(DeviceDescription)} )} or
+ * {@link org.onlab.onos.net.device.DeviceProviderService#deviceDisconnected(DeviceDescription)}
+ * at some later point in time.
+ *
+ * @param device device to be probed
+ */
+ void triggerProbe(Device device);
+
+ /**
+ * Notifies the provider of a mastership role change for the specified
+ * device as decided by the core.
+ *
+ * @param device affected device
+ * @param newRole newly determined mastership role
+ */
+ void roleChanged(Device device, MastershipRole newRole);
+
}
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderBroker.java
index 926f76e..90d060a 100644
--- a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderBroker.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.device;
-import org.onlab.onos.net.ProviderBroker;
+import org.onlab.onos.net.provider.ProviderBroker;
/**
* Abstraction of a device provider brokerage.
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
index e5ee1f0..930015f 100644
--- a/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceProviderService.java
@@ -1,6 +1,7 @@
package org.onlab.onos.net.device;
-import org.onlab.onos.net.ProviderService;
+import org.onlab.onos.net.MastershipRole;
+import org.onlab.onos.net.provider.ProviderService;
import java.util.List;
@@ -16,8 +17,9 @@
* Signals the core that a device has connected or has been detected somehow.
*
* @param deviceDescription information about network device
+ * @return mastership role chosen by the provider service
*/
- void deviceConnected(DeviceDescription deviceDescription);
+ MastershipRole deviceConnected(DeviceDescription deviceDescription);
/**
* Signals the core that a device has disconnected or is no longer reachable.
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DeviceService.java b/net/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
new file mode 100644
index 0000000..4048fbb
--- /dev/null
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DeviceService.java
@@ -0,0 +1,52 @@
+package org.onlab.onos.net.device;
+
+import org.onlab.onos.net.Device;
+import org.onlab.onos.net.DeviceId;
+import org.onlab.onos.net.MastershipRole;
+
+/**
+ * Service for interacting with the inventory of infrastructure devices.
+ */
+public interface DeviceService {
+
+ /**
+ * Returns the current mastership role for the specified device.
+ *
+ * @param deviceId device identifier
+ * @return designated mastership role
+ */
+ MastershipRole getRole(DeviceId deviceId);
+
+ /**
+ * Returns an iterable collection of the currently known infrastructure
+ * devices.
+ *
+ * @return collection of devices
+ */
+ Iterable<Device> getDevices();
+
+ /**
+ * Returns the device with the specified identifier.
+ *
+ * @param deviceId device identifier
+ * @return device or null if one with the given identifier is not known
+ */
+ Device getDevice(DeviceId deviceId);
+
+
+// List<Port> getPorts(DeviceId deviceId);
+
+ /**
+ * Adds the specified device listener.
+ *
+ * @param listener device listener
+ */
+ void addListener(DeviceListener listener);
+
+ /**
+ * Removes the specified device listener.
+ *
+ * @param listener device listener
+ */
+ void removeListener(DeviceListener listener);
+}
diff --git a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProvider.java b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProvider.java
index ac46da8..894e245 100644
--- a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProvider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProvider.java
@@ -1,9 +1,12 @@
package org.onlab.onos.net.flow;
-import org.onlab.onos.net.Provider;
+import org.onlab.onos.net.provider.Provider;
/**
* Abstraction of a flow rule provider.
*/
public interface FlowRuleProvider extends Provider {
+
+ // TODO: pushFlowRule
+
}
diff --git a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderBroker.java
index c3f7602..e2bfd1c 100644
--- a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderBroker.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.flow;
-import org.onlab.onos.net.ProviderBroker;
+import org.onlab.onos.net.provider.ProviderBroker;
/**
* Abstraction for a flow rule provider brokerage.
diff --git a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
index 9b26d76..4db01e6 100644
--- a/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/flow/FlowRuleProviderService.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.flow;
-import org.onlab.onos.net.ProviderService;
+import org.onlab.onos.net.provider.ProviderService;
/**
* Service through which flowrule providers can inject flowrule information into
diff --git a/net/api/src/main/java/org/onlab/onos/net/host/HostProvider.java b/net/api/src/main/java/org/onlab/onos/net/host/HostProvider.java
index 1ad2c65..04c1060 100644
--- a/net/api/src/main/java/org/onlab/onos/net/host/HostProvider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/host/HostProvider.java
@@ -1,9 +1,24 @@
package org.onlab.onos.net.host;
-import org.onlab.onos.net.Provider;
+import org.onlab.onos.net.Host;
+import org.onlab.onos.net.provider.Provider;
/**
* Provider of information about hosts and their location on the network.
*/
public interface HostProvider extends Provider {
+
+ // TODO: consider how dirty the triggerProbe gets; if it costs too much, let's drop it
+
+ /**
+ * Triggers an asynchronous probe of the specified host, intended to
+ * determine whether the host is present or not. An indirect result of this
+ * should be invocation of {@link org.onlab.onos.net.host.HostProviderService#hostDetected(HostDescription)} or
+ * {@link org.onlab.onos.net.host.HostProviderService#hostNotDetected(HostDescription)}
+ * at some later point in time.
+ *
+ * @param host host to probe
+ */
+ void triggerProbe(Host host);
+
}
diff --git a/net/api/src/main/java/org/onlab/onos/net/host/HostProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/host/HostProviderBroker.java
index 427e54e..c99d436 100644
--- a/net/api/src/main/java/org/onlab/onos/net/host/HostProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/host/HostProviderBroker.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.host;
-import org.onlab.onos.net.ProviderBroker;
+import org.onlab.onos.net.provider.ProviderBroker;
/**
* Abstraction of a host provider brokerage.
diff --git a/net/api/src/main/java/org/onlab/onos/net/host/HostProviderService.java b/net/api/src/main/java/org/onlab/onos/net/host/HostProviderService.java
index 4d5d470..f91acbc 100644
--- a/net/api/src/main/java/org/onlab/onos/net/host/HostProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/host/HostProviderService.java
@@ -1,12 +1,25 @@
package org.onlab.onos.net.host;
-import org.onlab.onos.net.ProviderService;
+import org.onlab.onos.net.provider.ProviderService;
/**
* Means of conveying host information to the core.
*/
public interface HostProviderService extends ProviderService {
+ /**
+ * Notifies the core when a host has been detected on a network along with
+ * information that identifies the hoot location.
+ *
+ * @param hostDescription description of host and its location
+ */
void hostDetected(HostDescription hostDescription);
+ /**
+ * Notifies the core when a host is no longer detected on a network.
+ *
+ * @param hostDescription description of host
+ */
+ void hostNotDetected(HostDescription hostDescription);
+
}
diff --git a/net/api/src/main/java/org/onlab/onos/net/link/LinkProvider.java b/net/api/src/main/java/org/onlab/onos/net/link/LinkProvider.java
index 57cc45d..a8ade18 100644
--- a/net/api/src/main/java/org/onlab/onos/net/link/LinkProvider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/link/LinkProvider.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.link;
-import org.onlab.onos.net.Provider;
+import org.onlab.onos.net.provider.Provider;
/**
* Abstraction of an entity providing information about infrastructure links
diff --git a/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderBroker.java
index b0bfb05..fc58f2c 100644
--- a/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderBroker.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.link;
-import org.onlab.onos.net.ProviderBroker;
+import org.onlab.onos.net.provider.ProviderBroker;
/**
* Abstraction of an infrastructure link provider brokerage.
diff --git a/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderService.java b/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderService.java
index 9f523f7..8e1f18f 100644
--- a/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/link/LinkProviderService.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.link;
-import org.onlab.onos.net.ProviderService;
+import org.onlab.onos.net.provider.ProviderService;
/**
* Means for injecting link information into the core.
diff --git a/net/api/src/main/java/org/onlab/onos/net/Provider.java b/net/api/src/main/java/org/onlab/onos/net/provider/Provider.java
similarity index 78%
rename from net/api/src/main/java/org/onlab/onos/net/Provider.java
rename to net/api/src/main/java/org/onlab/onos/net/provider/Provider.java
index eda436b..b1f159d 100644
--- a/net/api/src/main/java/org/onlab/onos/net/Provider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/provider/Provider.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net;
+package org.onlab.onos.net.provider;
/**
* Abstraction of a provider of information about network environment.
diff --git a/net/api/src/main/java/org/onlab/onos/net/ProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderBroker.java
similarity index 94%
rename from net/api/src/main/java/org/onlab/onos/net/ProviderBroker.java
rename to net/api/src/main/java/org/onlab/onos/net/provider/ProviderBroker.java
index 63d7189..9c1b231 100644
--- a/net/api/src/main/java/org/onlab/onos/net/ProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderBroker.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net;
+package org.onlab.onos.net.provider;
/**
* Broker used for registering/unregistering information providers with the core.
diff --git a/net/api/src/main/java/org/onlab/onos/net/ProviderId.java b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
similarity index 94%
rename from net/api/src/main/java/org/onlab/onos/net/ProviderId.java
rename to net/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
index 53dd739..3681be5 100644
--- a/net/api/src/main/java/org/onlab/onos/net/ProviderId.java
+++ b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderId.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net;
+package org.onlab.onos.net.provider;
/**
* Notion of provider identity.
diff --git a/net/api/src/main/java/org/onlab/onos/net/ProviderService.java b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderService.java
similarity index 81%
rename from net/api/src/main/java/org/onlab/onos/net/ProviderService.java
rename to net/api/src/main/java/org/onlab/onos/net/provider/ProviderService.java
index 8a7d7e9..9afbc4b 100644
--- a/net/api/src/main/java/org/onlab/onos/net/ProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/provider/ProviderService.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.net;
+package org.onlab.onos.net.provider;
/**
* Abstraction of a service through which providers can inject information
diff --git a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProvider.java b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProvider.java
index 70264dc..7ad8cc0 100644
--- a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProvider.java
+++ b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProvider.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.topology;
-import org.onlab.onos.net.Provider;
+import org.onlab.onos.net.provider.Provider;
/**
* Means for injecting topology information into the core.
diff --git a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderBroker.java b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderBroker.java
index 9caa817..d3f7e50 100644
--- a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderBroker.java
+++ b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderBroker.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.topology;
-import org.onlab.onos.net.ProviderBroker;
+import org.onlab.onos.net.provider.ProviderBroker;
/**
* Abstraction of a network topology provider brokerage.
diff --git a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderService.java b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderService.java
index bef83ed..b28df4e 100644
--- a/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderService.java
+++ b/net/api/src/main/java/org/onlab/onos/net/topology/TopologyProviderService.java
@@ -1,6 +1,6 @@
package org.onlab.onos.net.topology;
-import org.onlab.onos.net.ProviderService;
+import org.onlab.onos.net.provider.ProviderService;
/**
* Means for injecting topology information into the core.
diff --git a/net/api/src/main/javadoc/org/onlab/onos/event/package.html b/net/api/src/main/javadoc/org/onlab/onos/event/package.html
new file mode 100644
index 0000000..1591f3d
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/event/package.html
@@ -0,0 +1,3 @@
+<body>
+Local event delivery subsystem interfaces & supporting abstractions.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/device/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/device/package.html
new file mode 100644
index 0000000..521a30a
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/device/package.html
@@ -0,0 +1,3 @@
+<body>
+Infrastructure device model & related services API definitions.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/flow/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/flow/package.html
new file mode 100644
index 0000000..46028d4
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/flow/package.html
@@ -0,0 +1,3 @@
+<body>
+Flow rule model & related services API definitions.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/host/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/host/package.html
new file mode 100644
index 0000000..e076f65
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/host/package.html
@@ -0,0 +1,3 @@
+<body>
+End-station host model & related services API definitions.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/link/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/link/package.html
new file mode 100644
index 0000000..50972e2
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/link/package.html
@@ -0,0 +1,3 @@
+<body>
+Infrastructure link model & related services API definitions.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/package.html
index f03b788..7d2cd0a 100644
--- a/net/api/src/main/javadoc/org/onlab/onos/net/package.html
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/package.html
@@ -1,3 +1,3 @@
<body>
-ONOS API definitions.
+Network model entities & service API definitions.
</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/provider/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/provider/package.html
new file mode 100644
index 0000000..75c9ed4
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/provider/package.html
@@ -0,0 +1,3 @@
+<body>
+Base abstractions related to network entity providers and their brokers.
+</body>
\ No newline at end of file
diff --git a/net/api/src/main/javadoc/org/onlab/onos/net/topology/package.html b/net/api/src/main/javadoc/org/onlab/onos/net/topology/package.html
new file mode 100644
index 0000000..7601432
--- /dev/null
+++ b/net/api/src/main/javadoc/org/onlab/onos/net/topology/package.html
@@ -0,0 +1,3 @@
+<body>
+Network topology model & related services API definitions.
+</body>
\ No newline at end of file
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java
index 8015f3f..b5db8ca 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java
@@ -25,9 +25,9 @@
import java.util.Set;
import java.util.concurrent.Future;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.util.OrderedCollection;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.util.OrderedCollection;
import org.jboss.netty.channel.Channel;
import org.projectfloodlight.openflow.protocol.OFActionType;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java
index b3b8ed3..623e824 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java
@@ -2,7 +2,7 @@
import org.projectfloodlight.openflow.protocol.OFVersion;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry;
/**
* Interface to passed to controller class in order to allow
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java
index 37ac321..53b5904 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java
index 313e074..6f0db4d 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java
index 74d4405..f8b0dd9 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
index 6ea380c..d314f31 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java
index e157cf2..2dc0c0a 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
public interface IDebugCounter {
/**
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
index 81a80b1..da40b0e 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
@@ -1,10 +1,10 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.List;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter.DebugCounterInfo;
public interface IDebugCounterService {
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
index 1775c50..a31e19a 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
@@ -1,9 +1,9 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.Collections;
import java.util.List;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter.DebugCounterInfo;
public class NullDebugCounter implements IDebugCounterService {
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java
index 84f090a..4192d96 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
@@ -31,20 +31,20 @@
import net.onrc.onos.of.ctl.IOFSwitchManager;
import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.annotations.LogMessageDoc;
-import net.onrc.onos.of.ctl.annotations.LogMessageDocs;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterType;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.RoleRecvStatus;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry;
-import net.onrc.onos.of.ctl.registry.RegistryException;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry.ControlChangeCallback;
-import net.onrc.onos.of.ctl.util.Dpid;
-import net.onrc.onos.of.ctl.util.DummySwitchForTesting;
-import net.onrc.onos.of.ctl.util.InstanceId;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDoc;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDocs;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterType;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.RoleRecvStatus;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry;
+import org.onlab.onos.of.controller.impl.registry.RegistryException;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry.ControlChangeCallback;
+import org.onlab.onos.of.controller.impl.util.Dpid;
+import org.onlab.onos.of.controller.impl.util.DummySwitchForTesting;
+import org.onlab.onos.of.controller.impl.util.InstanceId;
import net.onrc.onos.of.ctl.IOFSwitch;
import net.onrc.onos.of.ctl.IOFSwitch.PortChangeType;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java
index 48856a9..c199487 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Exception is thrown when the handshake fails to complete.
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java
index 2ed3fd2..10a42ca 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.concurrent.TimeUnit;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
index 3b18a59..be46753 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.io.IOException;
import java.nio.channels.ClosedChannelException;
@@ -12,11 +12,11 @@
import net.onrc.onos.of.ctl.IOFSwitch;
import net.onrc.onos.of.ctl.IOFSwitch.PortChangeEvent;
import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.annotations.LogMessageDoc;
-import net.onrc.onos.of.ctl.annotations.LogMessageDocs;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.internal.Controller.Counters;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.ChannelState.RoleReplyInfo;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDoc;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDocs;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.internal.Controller.Counters;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.ChannelState.RoleReplyInfo;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java
index ff6fbf5..3035103 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import org.jboss.netty.buffer.ChannelBuffer;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java
index 86933fc..14a6db5 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.List;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java
index 30f0287..02e3520 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.concurrent.ThreadPoolExecutor;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
index 92c673c..53227aa 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when IOFSwitch.startDriverHandshake() is called more than once.
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java
index 1600854..ba792e5 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import org.projectfloodlight.openflow.protocol.OFMessage;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java
index c7d68f3..49fdead 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Base class for exception thrown by switch driver sub-handshake processing.
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java
index d568cc6..72b17dc 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when a switch driver's sub-handshake has not been started but an
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java
index 6091a86..191d1bb 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when a switch driver's sub-handshake state-machine receives an
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java
index e51b60d..d82e917 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* This exception indicates an error or unexpected message during
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java
index 2472f64..5e83348 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java
index 0b67338..21b1709 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java
@@ -1,10 +1,10 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import net.onrc.onos.of.ctl.util.InstanceId;
+import org.onlab.onos.of.controller.impl.util.InstanceId;
/**
* A registry service that allows ONOS to register controllers and switches in a
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java
index 45d3c83..406a60d 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
public class IdBlock {
private final long start;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java
index 06f5932..029f028 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
public class RegistryException extends Exception {
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java
index 5544354..dec8424 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import org.projectfloodlight.openflow.util.HexString;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java
index a8eabce..a00f3dd 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.io.IOException;
import java.util.Collection;
@@ -27,8 +27,8 @@
import net.onrc.onos.of.ctl.IOFSwitch;
import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
public class DummySwitchForTesting implements IOFSwitch {
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java
index fe6ccc0..c7734c0 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.EnumSet;
import java.util.Set;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java
index fdde82c..319aae8 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java
index 861dec6..4a7892e 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkArgument;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java
index 79f3c9d..a59b244 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java
index 17f9354..866794f 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java
index 629e536..1778d06 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Collection;
import java.util.LinkedHashSet;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java
index 693a8bf..7b709e9 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java
index f032212..9dce568 100644
--- a/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java
+++ b/of-save/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Collection;
diff --git a/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java b/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java
index ea7d884..89d7ab6 100644
--- a/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java
+++ b/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import junit.framework.TestCase;
import net.onrc.onos.of.ctl.IOFSwitch;
diff --git a/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java b/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java
index 0213cce..2b51140 100644
--- a/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java
+++ b/of-save/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import static org.easymock.EasyMock.capture;
import static org.easymock.EasyMock.createMock;
@@ -20,9 +20,9 @@
import net.onrc.onos.of.ctl.IOFSwitch;
import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.RoleRecvStatus;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.RoleRecvStatus;
import org.easymock.Capture;
import org.easymock.CaptureType;
diff --git a/of/api/pom.xml b/of/api/pom.xml
index bff56bd..7e41d76 100644
--- a/of/api/pom.xml
+++ b/of/api/pom.xml
@@ -16,4 +16,42 @@
<description>ONOS OpenFlow controller subsystem API</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.projectfloodlight</groupId>
+ <artifactId>openflowj</artifactId>
+ <version>0.3.8-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <artifactSet>
+ <excludes>
+ <exclude>io.netty:netty</exclude>
+ <exclude>com.google.guava:guava</exclude>
+ <exclude>org.slf4j:slfj-api</exclude>
+ <exclude>ch.qos.logback:logback-core</exclude>
+ <exclude>ch.qos.logback:logback-classic</exclude>
+ <exclude>com.google.code.findbugs:annotations</exclude>
+ </excludes>
+ </artifactSet>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitch.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitch.java
index 8015f3f..afa3703 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitch.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitch.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl;
+package org.onlab.onos.of.controller.impl;
import java.io.IOException;
import java.util.Collection;
@@ -25,9 +25,9 @@
import java.util.Set;
import java.util.concurrent.Future;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.util.OrderedCollection;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.util.OrderedCollection;
import org.jboss.netty.channel.Channel;
import org.projectfloodlight.openflow.protocol.OFActionType;
@@ -71,7 +71,6 @@
* Writes to the OFMessage to the output stream.
*
* @param m
- * @param bc
* @throws IOException
*/
public void write(OFMessage m) throws IOException;
@@ -80,7 +79,6 @@
* Writes the list of messages to the output stream.
*
* @param msglist
- * @param bc
* @throws IOException
*/
public void write(List<OFMessage> msglist) throws IOException;
@@ -366,7 +364,7 @@
public boolean portEnabled(int portName);
/**
- * @param portNumber
+ * @param portName
* @return Whether a port is enabled per latest port status message
* (not configured down nor link down nor in spanning tree blocking state)
*/
@@ -508,7 +506,7 @@
/**
* Set debug counter service for per-switch counters.
* Called immediately after instantiation.
- * @param debugCounters
+ * @param debugCounter
* @throws CounterException
*/
public void setDebugCounterService(IDebugCounterService debugCounter)
@@ -520,7 +518,8 @@
* ready.
* This method must only be called from the I/O thread
* @throws IOException
- * @throws SwitchDriverSubHandshakeAlreadyStarted if the sub-handshake has
+ * @throws org.onlab.onos.of.controller.impl.internal.SwitchDriverSubHandshakeAlreadyStarted
+ * if the sub-handshake has
* already been started
*/
public void startDriverHandshake() throws IOException;
@@ -531,7 +530,8 @@
*
* This methods must only be called from the I/O thread
* @return true if the sub-handshake has been completed. False otherwise
- * @throws SwitchDriverSubHandshakeNotStarted if startDriverHandshake() has
+ * @throws org.onlab.onos.of.controller.impl.internal.SwitchDriverSubHandshakeNotStarted
+ * if startDriverHandshake() has
* not been called yet.
*/
public boolean isDriverHandshakeComplete();
@@ -541,9 +541,11 @@
* sub-handshake. Must not be called after the handshake has been completed
* This methods must only be called from the I/O thread
* @param m The message that the driver should process
- * @throws SwitchDriverSubHandshakeCompleted if isDriverHandshake() returns
+ * @throws org.onlab.onos.of.controller.impl.internal.SwitchDriverSubHandshakeCompleted
+ * if isDriverHandshake() returns
* false before this method call
- * @throws SwitchDriverSubHandshakeNotStarted if startDriverHandshake() has
+ * @throws org.onlab.onos.of.controller.impl.internal.SwitchDriverSubHandshakeNotStarted
+ * if startDriverHandshake() has
* not been called yet.
*/
public void processDriverHandshakeMessage(OFMessage m);
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitchManager.java
similarity index 88%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitchManager.java
index b3b8ed3..0acb321 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/IOFSwitchManager.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/IOFSwitchManager.java
@@ -1,8 +1,8 @@
-package net.onrc.onos.of.ctl;
+package org.onlab.onos.of.controller.impl;
import org.projectfloodlight.openflow.protocol.OFVersion;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry;
/**
* Interface to passed to controller class in order to allow
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/Role.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/Role.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/Role.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/Role.java
index d892161..081ea10 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/Role.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/Role.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl;
+package org.onlab.onos.of.controller.impl;
import org.projectfloodlight.openflow.protocol.OFControllerRole;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageCategory.java
similarity index 92%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageCategory.java
index 37ac321..643c639 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageCategory.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageCategory.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@@ -30,7 +30,7 @@
/**
* The category for the log messages for this class.
*
- * @return
+ * @return category
*/
String value() default "Core";
}
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDoc.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDoc.java
index 313e074..6f0db4d 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDoc.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDoc.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDocs.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDocs.java
index 74d4405..f8b0dd9 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/annotations/LogMessageDocs.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/annotations/LogMessageDocs.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.annotations;
+package org.onlab.onos.of.controller.impl.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/DebugCounter.java
similarity index 99%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/DebugCounter.java
index 76110b0..f88a43e 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/DebugCounter.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/DebugCounter.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounter.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounter.java
index e157cf2..2dc0c0a 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounter.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounter.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
public interface IDebugCounter {
/**
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounterService.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounterService.java
index 7f55040..216ee74 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/IDebugCounterService.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/IDebugCounterService.java
@@ -1,10 +1,10 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.List;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter.DebugCounterInfo;
//CHECKSTYLE:OFF
public interface IDebugCounterService {
@@ -228,7 +228,8 @@
* may not be enabled for counting, but if it is registered the method will
* return true.
*
- * @param param
+ * @param moduleName
+ * @param counterHierarchy
* @return false if moduleCounterHierarchy is not a registered counter
*/
public boolean containsModuleCounterHierarchy(String moduleName,
@@ -240,7 +241,7 @@
* a counter enabled for counting, but if it is registered the method will
* return true.
*
- * @param param
+ * @param moduleName
* @return false if moduleName is not a registered counter
*/
public boolean containsModuleName(String moduleName);
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/NullDebugCounter.java
similarity index 94%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/NullDebugCounter.java
index 4a88e2e..ae476ea 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/debugcounter/NullDebugCounter.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/debugcounter/NullDebugCounter.java
@@ -1,9 +1,9 @@
-package net.onrc.onos.of.ctl.debugcounter;
+package org.onlab.onos.of.controller.impl.debugcounter;
import java.util.Collections;
import java.util.List;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter.DebugCounterInfo;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter.DebugCounterInfo;
//CHECKSTYLE:OFF
public class NullDebugCounter implements IDebugCounterService {
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/Controller.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/Controller.java
index 84f090a..1f0b36d 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/Controller.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/Controller.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
@@ -29,24 +29,24 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
-import net.onrc.onos.of.ctl.IOFSwitchManager;
-import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.annotations.LogMessageDoc;
-import net.onrc.onos.of.ctl.annotations.LogMessageDocs;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterType;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.RoleRecvStatus;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry;
-import net.onrc.onos.of.ctl.registry.RegistryException;
-import net.onrc.onos.of.ctl.registry.IControllerRegistry.ControlChangeCallback;
-import net.onrc.onos.of.ctl.util.Dpid;
-import net.onrc.onos.of.ctl.util.DummySwitchForTesting;
-import net.onrc.onos.of.ctl.util.InstanceId;
-import net.onrc.onos.of.ctl.IOFSwitch;
-import net.onrc.onos.of.ctl.IOFSwitch.PortChangeType;
+import org.onlab.onos.of.controller.impl.IOFSwitchManager;
+import org.onlab.onos.of.controller.impl.Role;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDoc;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDocs;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterType;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.RoleRecvStatus;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry;
+import org.onlab.onos.of.controller.impl.registry.RegistryException;
+import org.onlab.onos.of.controller.impl.registry.IControllerRegistry.ControlChangeCallback;
+import org.onlab.onos.of.controller.impl.util.Dpid;
+import org.onlab.onos.of.controller.impl.util.DummySwitchForTesting;
+import org.onlab.onos.of.controller.impl.util.InstanceId;
+import org.onlab.onos.of.controller.impl.IOFSwitch;
+import org.onlab.onos.of.controller.impl.IOFSwitch.PortChangeType;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -242,7 +242,9 @@
/**
* Indicates that ports on the given switch have changed. Enqueue a
* switch update.
- * @param sw
+ * @param dpid
+ * @param port
+ * @param changeType
*/
protected void notifyPortChanged(long dpid, OFPortDesc port,
PortChangeType changeType) {
@@ -479,8 +481,6 @@
/**
* Tell controller that we're ready to accept switches loop.
- *
- * @throws IOException
*/
@LogMessageDocs({
@LogMessageDoc(message = "Listening for switch connections on {address}",
@@ -818,7 +818,7 @@
/**
* Forward to the driver-manager to get an IOFSwitch instance.
* @param desc
- * @return
+ * @return switch instance
*/
protected IOFSwitch getOFSwitchInstance(OFDescStatsReply desc, OFVersion ofv) {
if (switchManager == null) {
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutException.java
similarity index 94%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutException.java
index 48856a9..c199487 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutException.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutException.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Exception is thrown when the handshake fails to complete.
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutHandler.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutHandler.java
index 2ed3fd2..10a42ca 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/HandshakeTimeoutHandler.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/HandshakeTimeoutHandler.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.concurrent.TimeUnit;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandler.java
similarity index 98%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandler.java
index 764e48f..667a051 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFChannelHandler.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandler.java
@@ -1,5 +1,5 @@
//CHECKSTYLE:OFF
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.io.IOException;
import java.nio.channels.ClosedChannelException;
@@ -10,14 +10,14 @@
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.RejectedExecutionException;
-import net.onrc.onos.of.ctl.IOFSwitch;
-import net.onrc.onos.of.ctl.IOFSwitch.PortChangeEvent;
-import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.annotations.LogMessageDoc;
-import net.onrc.onos.of.ctl.annotations.LogMessageDocs;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
-import net.onrc.onos.of.ctl.internal.Controller.Counters;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.ChannelState.RoleReplyInfo;
+import org.onlab.onos.of.controller.impl.IOFSwitch;
+import org.onlab.onos.of.controller.impl.IOFSwitch.PortChangeEvent;
+import org.onlab.onos.of.controller.impl.Role;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDoc;
+import org.onlab.onos.of.controller.impl.annotations.LogMessageDocs;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.internal.Controller.Counters;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.ChannelState.RoleReplyInfo;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageDecoder.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageDecoder.java
index ff6fbf5..3035103 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageDecoder.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageDecoder.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import org.jboss.netty.buffer.ChannelBuffer;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageEncoder.java
similarity index 96%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageEncoder.java
index 86933fc..14a6db5 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OFMessageEncoder.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OFMessageEncoder.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.List;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OpenflowPipelineFactory.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OpenflowPipelineFactory.java
index 30f0287..02e3520 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/OpenflowPipelineFactory.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/OpenflowPipelineFactory.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import java.util.concurrent.ThreadPoolExecutor;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
similarity index 86%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
index 92c673c..53227aa 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeAlreadyStarted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when IOFSwitch.startDriverHandshake() is called more than once.
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeCompleted.java
similarity index 91%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeCompleted.java
index 1600854..ba792e5 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeCompleted.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeCompleted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import org.projectfloodlight.openflow.protocol.OFMessage;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeException.java
similarity index 91%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeException.java
index c7d68f3..49fdead 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeException.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Base class for exception thrown by switch driver sub-handshake processing.
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeNotStarted.java
similarity index 88%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeNotStarted.java
index d568cc6..72b17dc 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeNotStarted.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeNotStarted.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when a switch driver's sub-handshake has not been started but an
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeStateException.java
similarity index 88%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeStateException.java
index 6091a86..191d1bb 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchDriverSubHandshakeStateException.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchDriverSubHandshakeStateException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* Thrown when a switch driver's sub-handshake state-machine receives an
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchStateException.java
similarity index 96%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchStateException.java
index e51b60d..d82e917 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/internal/SwitchStateException.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/internal/SwitchStateException.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
/**
* This exception indicates an error or unexpected message during
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/ControllerRegistryEntry.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/ControllerRegistryEntry.java
index 2472f64..5e83348 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/ControllerRegistryEntry.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/ControllerRegistryEntry.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IControllerRegistry.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IControllerRegistry.java
index 0b67338..21b1709 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IControllerRegistry.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IControllerRegistry.java
@@ -1,10 +1,10 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import net.onrc.onos.of.ctl.util.InstanceId;
+import org.onlab.onos.of.controller.impl.util.InstanceId;
/**
* A registry service that allows ONOS to register controllers and switches in a
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IdBlock.java
similarity index 91%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IdBlock.java
index 45d3c83..406a60d 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/IdBlock.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/IdBlock.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
public class IdBlock {
private final long start;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/RegistryException.java
similarity index 85%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/RegistryException.java
index 06f5932..029f028 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/registry/RegistryException.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/registry/RegistryException.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.registry;
+package org.onlab.onos.of.controller.impl.registry;
public class RegistryException extends Exception {
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/Dpid.java
similarity index 96%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/Dpid.java
index 5544354..dec8424 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/Dpid.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/Dpid.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import org.projectfloodlight.openflow.util.HexString;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/DummySwitchForTesting.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/DummySwitchForTesting.java
index a8eabce..2d925f8 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/DummySwitchForTesting.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/DummySwitchForTesting.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.io.IOException;
import java.util.Collection;
@@ -25,10 +25,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.onrc.onos.of.ctl.IOFSwitch;
-import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService.CounterException;
+import org.onlab.onos.of.controller.impl.IOFSwitch;
+import org.onlab.onos.of.controller.impl.Role;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService.CounterException;
public class DummySwitchForTesting implements IOFSwitch {
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/EnumBitmaps.java
similarity index 98%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/EnumBitmaps.java
index fe6ccc0..c7734c0 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/EnumBitmaps.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/EnumBitmaps.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.EnumSet;
import java.util.Set;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/FilterIterator.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/FilterIterator.java
index fdde82c..319aae8 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/FilterIterator.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/FilterIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/InstanceId.java
similarity index 94%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/InstanceId.java
index 861dec6..4a7892e 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/InstanceId.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/InstanceId.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Preconditions.checkArgument;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/IterableIterator.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/IterableIterator.java
index 79f3c9d..a59b244 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/IterableIterator.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/IterableIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LRUHashMap.java
similarity index 95%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LRUHashMap.java
index 17f9354..866794f 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LRUHashMap.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LRUHashMap.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LinkedHashSetWrapper.java
similarity index 93%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LinkedHashSetWrapper.java
index 629e536..1778d06 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/LinkedHashSetWrapper.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/LinkedHashSetWrapper.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Collection;
import java.util.LinkedHashSet;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/MultiIterator.java
similarity index 97%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/MultiIterator.java
index 693a8bf..7b709e9 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/MultiIterator.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/MultiIterator.java
@@ -15,7 +15,7 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Iterator;
import java.util.NoSuchElementException;
diff --git a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/OrderedCollection.java
similarity index 86%
rename from of/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java
rename to of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/OrderedCollection.java
index f032212..9dce568 100644
--- a/of/ctl/src/main/java/net/onrc/onos/of/ctl/util/OrderedCollection.java
+++ b/of/ctl/src/main/java/org/onlab/onos/of/controller/impl/util/OrderedCollection.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.util;
+package org.onlab.onos.of.controller.impl.util;
import java.util.Collection;
diff --git a/of/ctl/src/main/javadoc/org/onlab/onos/of/controller/impl/package.html b/of/ctl/src/main/javadoc/org/onlab/onos/of/controller/impl/package.html
new file mode 100644
index 0000000..a3eb2c8
--- /dev/null
+++ b/of/ctl/src/main/javadoc/org/onlab/onos/of/controller/impl/package.html
@@ -0,0 +1,3 @@
+<body>
+Implementation of the OpenFlow controller IO subsystem.
+</body>
\ No newline at end of file
diff --git a/of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java b/of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/ControllerTest.java
similarity index 97%
rename from of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java
rename to of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/ControllerTest.java
index ea7d884..5de3647 100644
--- a/of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/ControllerTest.java
+++ b/of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/ControllerTest.java
@@ -15,10 +15,10 @@
* under the License.
**/
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import junit.framework.TestCase;
-import net.onrc.onos.of.ctl.IOFSwitch;
+import org.onlab.onos.of.controller.impl.IOFSwitch;
import org.easymock.EasyMock;
import org.junit.After;
diff --git a/of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java b/of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandlerTest.java
similarity index 98%
rename from of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java
rename to of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandlerTest.java
index 0213cce..f267923 100644
--- a/of/ctl/src/test/java/net/onrc/onos/of/ctl/internal/OFChannelHandlerTest.java
+++ b/of/ctl/src/test/java/org/onlab/onos/of/controller/impl/internal/OFChannelHandlerTest.java
@@ -1,4 +1,4 @@
-package net.onrc.onos.of.ctl.internal;
+package org.onlab.onos.of.controller.impl.internal;
import static org.easymock.EasyMock.capture;
import static org.easymock.EasyMock.createMock;
@@ -18,11 +18,11 @@
import java.util.List;
import java.util.Set;
-import net.onrc.onos.of.ctl.IOFSwitch;
-import net.onrc.onos.of.ctl.Role;
-import net.onrc.onos.of.ctl.debugcounter.DebugCounter;
-import net.onrc.onos.of.ctl.debugcounter.IDebugCounterService;
-import net.onrc.onos.of.ctl.internal.OFChannelHandler.RoleRecvStatus;
+import org.onlab.onos.of.controller.impl.IOFSwitch;
+import org.onlab.onos.of.controller.impl.Role;
+import org.onlab.onos.of.controller.impl.debugcounter.DebugCounter;
+import org.onlab.onos.of.controller.impl.debugcounter.IDebugCounterService;
+import org.onlab.onos.of.controller.impl.internal.OFChannelHandler.RoleRecvStatus;
import org.easymock.Capture;
import org.easymock.CaptureType;
diff --git a/pom.xml b/pom.xml
index 6227d9d..2cf2936 100644
--- a/pom.xml
+++ b/pom.xml
@@ -193,9 +193,7 @@
</configuration>
</plugin>
-
<!-- TODO: add jacoco plugin for unit test coverage; for explicit invocation only -->
-
<!-- TODO: add findbugs plugin for static code analysis; for explicit invocation only -->
<!-- TODO: add sonarqube plugin for code analysis; for explicit invocation only -->
@@ -205,6 +203,11 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.12.1</version>
<dependencies>
@@ -245,7 +248,7 @@
<group>
<title>Network Model & Services</title>
<packages>
- org.onlab.onos.net:org.onlab.onos.net.*
+ org.onlab.onos.*
</packages>
</group>
<group>
@@ -258,7 +261,7 @@
<title>OpenFlow Providers & Controller
</title>
<packages>
- org.onlab.onos.provider.of:org.onlab.onos.provider.of.*:org.onlab.onos.of.*
+ org.onlab.onos.net.provider.of:org.onlab.onos.net.provider.of.*:org.onlab.onos.of.*
</packages>
</group>
<group>