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/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/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 5283db4..220b73b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -248,7 +248,7 @@
                         <group>
                             <title>Network Model &amp; Services</title>
                             <packages>
-                                org.onlab.onos.net:org.onlab.onos.net.*
+                                org.onlab.onos.*
                             </packages>
                         </group>
                         <group>
