Refactoring packages from .of. to .openflow.
diff --git a/openflow/api/pom.xml b/openflow/api/pom.xml
index 7a1619e..f849e39 100644
--- a/openflow/api/pom.xml
+++ b/openflow/api/pom.xml
@@ -62,7 +62,7 @@
                 <configuration>
                     <instructions>
                         <Export-Package>
-                            org.onlab.onos.of.*,org.projectfloodlight.openflow.*
+                            org.onlab.onos.openflow.*,org.projectfloodlight.openflow.*
                         </Export-Package>
                     </instructions>
                 </configuration>
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/package-info.java b/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/package-info.java
deleted file mode 100644
index f64ba6c..0000000
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * OpenFlow controller switch driver API.
- */
-package org.onlab.onos.of.controller.driver;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/package-info.java b/openflow/api/src/main/java/org/onlab/onos/of/controller/package-info.java
deleted file mode 100644
index 888bcce..0000000
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * OpenFlow controller API.
- */
-package org.onlab.onos.of.controller;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/DefaultOpenFlowPacketContext.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
similarity index 98%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/DefaultOpenFlowPacketContext.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
index 45f615a..f419d24 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/DefaultOpenFlowPacketContext.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/DefaultOpenFlowPacketContext.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/Dpid.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/Dpid.java
similarity index 98%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/Dpid.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/Dpid.java
index ca3d8e6..29a427a 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/Dpid.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/Dpid.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.projectfloodlight.openflow.util.HexString;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowController.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowController.java
similarity index 98%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowController.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowController.java
index ab80eee..6b2ca9c 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowController.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowController.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.projectfloodlight.openflow.protocol.OFMessage;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowPacketContext.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowPacketContext.java
similarity index 97%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowPacketContext.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowPacketContext.java
index 0e90f95..9d07c2f 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowPacketContext.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowPacketContext.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.onlab.packet.Ethernet;
 import org.projectfloodlight.openflow.types.OFPort;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitch.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitch.java
similarity index 97%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitch.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitch.java
index f16bb88..424e63c 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitch.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitch.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import java.util.List;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitchListener.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitchListener.java
similarity index 94%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitchListener.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitchListener.java
index ae5e3a8..c7cc287 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/OpenFlowSwitchListener.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/OpenFlowSwitchListener.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.projectfloodlight.openflow.protocol.OFPortStatus;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/PacketListener.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/PacketListener.java
similarity index 84%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/PacketListener.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/PacketListener.java
index 6bd39b8..06c43d6 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/PacketListener.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/PacketListener.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 /**
  * Notifies providers about Packet in events.
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/RoleState.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/RoleState.java
similarity index 93%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/RoleState.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/RoleState.java
index db8efd1..6a32301 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/RoleState.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/RoleState.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.projectfloodlight.openflow.protocol.OFControllerRole;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/AbstractOpenFlowSwitch.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/AbstractOpenFlowSwitch.java
similarity index 98%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/AbstractOpenFlowSwitch.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/AbstractOpenFlowSwitch.java
index d7e0186..ae36381 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/AbstractOpenFlowSwitch.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/AbstractOpenFlowSwitch.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 import java.io.IOException;
 import java.util.Collections;
@@ -23,8 +23,8 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.jboss.netty.channel.Channel;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.RoleState;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.RoleState;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFErrorMsg;
 import org.projectfloodlight.openflow.protocol.OFExperimenter;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowAgent.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowAgent.java
similarity index 93%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowAgent.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowAgent.java
index 0d37666..1261715 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowAgent.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowAgent.java
@@ -1,7 +1,7 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 
 /**
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriver.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriver.java
similarity index 97%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriver.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriver.java
index be99973..849e1c5 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriver.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriver.java
@@ -1,9 +1,9 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 import java.util.List;
 
 import org.jboss.netty.channel.Channel;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFErrorMsg;
 import org.projectfloodlight.openflow.protocol.OFFeaturesReply;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriverFactory.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriverFactory.java
similarity index 86%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriverFactory.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriverFactory.java
index 4e84d28..5ee85cb 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/OpenFlowSwitchDriverFactory.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/OpenFlowSwitchDriverFactory.java
@@ -1,6 +1,6 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
-import org.onlab.onos.of.controller.Dpid;
+import org.onlab.onos.openflow.controller.Dpid;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFVersion;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleHandler.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleHandler.java
similarity index 96%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleHandler.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleHandler.java
index bfded52..406ab74 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleHandler.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleHandler.java
@@ -1,8 +1,8 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 import java.io.IOException;
 
-import org.onlab.onos.of.controller.RoleState;
+import org.onlab.onos.openflow.controller.RoleState;
 import org.projectfloodlight.openflow.protocol.OFErrorMsg;
 import org.projectfloodlight.openflow.protocol.OFExperimenter;
 import org.projectfloodlight.openflow.protocol.OFRoleReply;
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleRecvStatus.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleRecvStatus.java
similarity index 95%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleRecvStatus.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleRecvStatus.java
index 0a10978..66bfb78 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleRecvStatus.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleRecvStatus.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * When we remove a pending role request we use this enum to indicate how we
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleReplyInfo.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleReplyInfo.java
similarity index 86%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleReplyInfo.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleReplyInfo.java
index cc3c483..9def335 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/RoleReplyInfo.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/RoleReplyInfo.java
@@ -1,6 +1,6 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
-import org.onlab.onos.of.controller.RoleState;
+import org.onlab.onos.openflow.controller.RoleState;
 import org.projectfloodlight.openflow.types.U64;
 
 /**
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java
similarity index 86%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java
index 16ed93a..9d17cd8 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeAlreadyStarted.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * Thrown when IOFSwitch.startDriverHandshake() is called more than once.
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeCompleted.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeCompleted.java
similarity index 91%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeCompleted.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeCompleted.java
index 1c6dac9..cfa5269 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeCompleted.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeCompleted.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 import org.projectfloodlight.openflow.protocol.OFMessage;
 
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeException.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeException.java
similarity index 92%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeException.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeException.java
index 1c9a710..1e68023 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeException.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeException.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * Base class for exception thrown by switch driver sub-handshake processing.
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeNotStarted.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeNotStarted.java
similarity index 88%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeNotStarted.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeNotStarted.java
index 0f34b0e..858ec09 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeNotStarted.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeNotStarted.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * Thrown when a switch driver's sub-handshake has not been started but an
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeStateException.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeStateException.java
similarity index 88%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeStateException.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeStateException.java
index 09e737e..805bb71 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchDriverSubHandshakeStateException.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchDriverSubHandshakeStateException.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * Thrown when a switch driver's sub-handshake state-machine receives an
diff --git a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchStateException.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchStateException.java
similarity index 96%
rename from openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchStateException.java
rename to openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchStateException.java
index 55b12de..fc3e0a7 100644
--- a/openflow/api/src/main/java/org/onlab/onos/of/controller/driver/SwitchStateException.java
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/SwitchStateException.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.driver;
+package org.onlab.onos.openflow.controller.driver;
 
 /**
  * This exception indicates an error or unexpected message during
diff --git a/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/package-info.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/package-info.java
new file mode 100644
index 0000000..200e421
--- /dev/null
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/driver/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * OpenFlow controller switch driver API.
+ */
+package org.onlab.onos.openflow.controller.driver;
diff --git a/openflow/api/src/main/java/org/onlab/onos/openflow/controller/package-info.java b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/package-info.java
new file mode 100644
index 0000000..154e389
--- /dev/null
+++ b/openflow/api/src/main/java/org/onlab/onos/openflow/controller/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * OpenFlow controller API.
+ */
+package org.onlab.onos.openflow.controller;
diff --git a/openflow/api/src/test/java/org/onlab/onos/of/controller/OpenflowControllerAdapter.java b/openflow/api/src/test/java/org/onlab/onos/openflow/controller/OpenflowControllerAdapter.java
similarity index 96%
rename from openflow/api/src/test/java/org/onlab/onos/of/controller/OpenflowControllerAdapter.java
rename to openflow/api/src/test/java/org/onlab/onos/openflow/controller/OpenflowControllerAdapter.java
index 09c0fbe..48484c3 100644
--- a/openflow/api/src/test/java/org/onlab/onos/of/controller/OpenflowControllerAdapter.java
+++ b/openflow/api/src/test/java/org/onlab/onos/openflow/controller/OpenflowControllerAdapter.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller;
+package org.onlab.onos.openflow.controller;
 
 import org.projectfloodlight.openflow.protocol.OFMessage;
 
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/package-info.java b/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/package-info.java
deleted file mode 100644
index f5b4544..0000000
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * Implementation of the OpenFlow controller IO subsystem.
- */
-package org.onlab.onos.of.controller.impl;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/package-info.java b/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/package-info.java
deleted file mode 100644
index ca25356..0000000
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/package-info.java
+++ /dev/null
@@ -1,4 +0,0 @@
-/**
- * OpenFlow base switch drivers implementations.
- */
-package org.onlab.onos.of.drivers.impl;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/Controller.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/Controller.java
similarity index 95%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/Controller.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/Controller.java
index 061f5bf..53ad55f 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/Controller.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/Controller.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.lang.management.ManagementFactory;
 import java.lang.management.RuntimeMXBean;
@@ -29,10 +29,10 @@
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.channel.group.DefaultChannelGroup;
 import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.driver.OpenFlowAgent;
-import org.onlab.onos.of.controller.driver.OpenFlowSwitchDriver;
-import org.onlab.onos.of.drivers.impl.DriverManager;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.driver.OpenFlowAgent;
+import org.onlab.onos.openflow.controller.driver.OpenFlowSwitchDriver;
+import org.onlab.onos.openflow.drivers.impl.DriverManager;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFFactories;
 import org.projectfloodlight.openflow.protocol.OFFactory;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutException.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutException.java
similarity index 94%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutException.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutException.java
index f3eac5f..fa38dfa 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutException.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutException.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 /**
  * Exception is thrown when the handshake fails to complete.
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutHandler.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutHandler.java
similarity index 98%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutHandler.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutHandler.java
index de7853a..f20ffb5 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/HandshakeTimeoutHandler.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/HandshakeTimeoutHandler.java
@@ -15,7 +15,7 @@
 *    under the License.
 **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.util.concurrent.TimeUnit;
 
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFChannelHandler.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFChannelHandler.java
similarity index 99%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFChannelHandler.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFChannelHandler.java
index adcb990..7850a58 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFChannelHandler.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFChannelHandler.java
@@ -1,5 +1,5 @@
 //CHECKSTYLE:OFF
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.io.IOException;
 import java.nio.channels.ClosedChannelException;
@@ -17,8 +17,8 @@
 import org.jboss.netty.handler.timeout.IdleStateAwareChannelHandler;
 import org.jboss.netty.handler.timeout.IdleStateEvent;
 import org.jboss.netty.handler.timeout.ReadTimeoutException;
-import org.onlab.onos.of.controller.driver.OpenFlowSwitchDriver;
-import org.onlab.onos.of.controller.driver.SwitchStateException;
+import org.onlab.onos.openflow.controller.driver.OpenFlowSwitchDriver;
+import org.onlab.onos.openflow.controller.driver.SwitchStateException;
 import org.projectfloodlight.openflow.exceptions.OFParseError;
 import org.projectfloodlight.openflow.protocol.OFAsyncGetReply;
 import org.projectfloodlight.openflow.protocol.OFBadRequestCode;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageDecoder.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageDecoder.java
similarity index 97%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageDecoder.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageDecoder.java
index d310613..fce2804 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageDecoder.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageDecoder.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 
 import org.jboss.netty.buffer.ChannelBuffer;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageEncoder.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageEncoder.java
similarity index 97%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageEncoder.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageEncoder.java
index 35d84b4..63d2a78 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OFMessageEncoder.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OFMessageEncoder.java
@@ -15,7 +15,7 @@
  *    under the License.
  **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.util.List;
 
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenFlowControllerImpl.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenFlowControllerImpl.java
similarity index 93%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenFlowControllerImpl.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenFlowControllerImpl.java
index a8b0673..7ee2b56 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenFlowControllerImpl.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenFlowControllerImpl.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -10,15 +10,15 @@
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Service;
-import org.onlab.onos.of.controller.DefaultOpenFlowPacketContext;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
-import org.onlab.onos.of.controller.OpenFlowSwitchListener;
-import org.onlab.onos.of.controller.PacketListener;
-import org.onlab.onos.of.controller.RoleState;
-import org.onlab.onos.of.controller.driver.OpenFlowAgent;
+import org.onlab.onos.openflow.controller.DefaultOpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.OpenFlowSwitchListener;
+import org.onlab.onos.openflow.controller.PacketListener;
+import org.onlab.onos.openflow.controller.RoleState;
+import org.onlab.onos.openflow.controller.driver.OpenFlowAgent;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPacketIn;
 import org.projectfloodlight.openflow.protocol.OFPortStatus;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenflowPipelineFactory.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenflowPipelineFactory.java
similarity index 98%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenflowPipelineFactory.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenflowPipelineFactory.java
index 1e34a3e..c78e25e 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/OpenflowPipelineFactory.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/OpenflowPipelineFactory.java
@@ -15,7 +15,7 @@
 *    under the License.
 **/
 
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.util.concurrent.ThreadPoolExecutor;
 
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/RoleManager.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/RoleManager.java
similarity index 96%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/RoleManager.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/RoleManager.java
index ee3a37f..5d9013e 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/controller/impl/RoleManager.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/RoleManager.java
@@ -1,14 +1,14 @@
-package org.onlab.onos.of.controller.impl;
+package org.onlab.onos.openflow.controller.impl;
 
 import java.io.IOException;
 import java.util.Collections;
 
-import org.onlab.onos.of.controller.RoleState;
-import org.onlab.onos.of.controller.driver.OpenFlowSwitchDriver;
-import org.onlab.onos.of.controller.driver.RoleHandler;
-import org.onlab.onos.of.controller.driver.RoleRecvStatus;
-import org.onlab.onos.of.controller.driver.RoleReplyInfo;
-import org.onlab.onos.of.controller.driver.SwitchStateException;
+import org.onlab.onos.openflow.controller.RoleState;
+import org.onlab.onos.openflow.controller.driver.OpenFlowSwitchDriver;
+import org.onlab.onos.openflow.controller.driver.RoleHandler;
+import org.onlab.onos.openflow.controller.driver.RoleRecvStatus;
+import org.onlab.onos.openflow.controller.driver.RoleReplyInfo;
+import org.onlab.onos.openflow.controller.driver.SwitchStateException;
 import org.projectfloodlight.openflow.protocol.OFControllerRole;
 import org.projectfloodlight.openflow.protocol.OFErrorMsg;
 import org.projectfloodlight.openflow.protocol.OFErrorType;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/package-info.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/package-info.java
new file mode 100644
index 0000000..3092283
--- /dev/null
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/controller/impl/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Implementation of the OpenFlow controller IO subsystem.
+ */
+package org.onlab.onos.openflow.controller.impl;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/DriverManager.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/DriverManager.java
similarity index 92%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/DriverManager.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/DriverManager.java
index 0dd897f..6cf4fa4 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/DriverManager.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/DriverManager.java
@@ -1,14 +1,14 @@
-package org.onlab.onos.of.drivers.impl;
+package org.onlab.onos.openflow.drivers.impl;
 
 
 
 import java.util.Collections;
 import java.util.List;
 
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.driver.AbstractOpenFlowSwitch;
-import org.onlab.onos.of.controller.driver.OpenFlowSwitchDriver;
-import org.onlab.onos.of.controller.driver.OpenFlowSwitchDriverFactory;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.driver.AbstractOpenFlowSwitch;
+import org.onlab.onos.openflow.controller.driver.OpenFlowSwitchDriver;
+import org.onlab.onos.openflow.controller.driver.OpenFlowSwitchDriverFactory;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPortDesc;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplCPqD13.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplCPqD13.java
similarity index 98%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplCPqD13.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplCPqD13.java
index e80b751..c4c2e19 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplCPqD13.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplCPqD13.java
@@ -1,4 +1,4 @@
-package org.onlab.onos.of.drivers.impl;
+package org.onlab.onos.openflow.drivers.impl;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -8,12 +8,12 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.RoleState;
-import org.onlab.onos.of.controller.driver.AbstractOpenFlowSwitch;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeAlreadyStarted;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeCompleted;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeNotStarted;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.RoleState;
+import org.onlab.onos.openflow.controller.driver.AbstractOpenFlowSwitch;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeAlreadyStarted;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeCompleted;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeNotStarted;
 import org.projectfloodlight.openflow.protocol.OFAsyncGetReply;
 import org.projectfloodlight.openflow.protocol.OFBarrierRequest;
 import org.projectfloodlight.openflow.protocol.OFBucket;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS10.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS10.java
similarity index 90%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS10.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS10.java
index 0de661b..b234146 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS10.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS10.java
@@ -1,10 +1,10 @@
-package org.onlab.onos.of.drivers.impl;
+package org.onlab.onos.openflow.drivers.impl;
 
 import java.util.Collections;
 import java.util.List;
 
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.driver.AbstractOpenFlowSwitch;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.driver.AbstractOpenFlowSwitch;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPortDesc;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS13.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS13.java
similarity index 94%
rename from openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS13.java
rename to openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS13.java
index 3e1b713..05ffdd1 100644
--- a/openflow/ctl/src/main/java/org/onlab/onos/of/drivers/impl/OFSwitchImplOVS13.java
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/OFSwitchImplOVS13.java
@@ -1,15 +1,15 @@
-package org.onlab.onos.of.drivers.impl;
+package org.onlab.onos.openflow.drivers.impl;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.driver.AbstractOpenFlowSwitch;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeAlreadyStarted;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeCompleted;
-import org.onlab.onos.of.controller.driver.SwitchDriverSubHandshakeNotStarted;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.driver.AbstractOpenFlowSwitch;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeAlreadyStarted;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeCompleted;
+import org.onlab.onos.openflow.controller.driver.SwitchDriverSubHandshakeNotStarted;
 import org.projectfloodlight.openflow.protocol.OFBarrierRequest;
 import org.projectfloodlight.openflow.protocol.OFDescStatsReply;
 import org.projectfloodlight.openflow.protocol.OFFactory;
diff --git a/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/package-info.java b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/package-info.java
new file mode 100644
index 0000000..6e65ea5
--- /dev/null
+++ b/openflow/ctl/src/main/java/org/onlab/onos/openflow/drivers/impl/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * OpenFlow base switch drivers implementations.
+ */
+package org.onlab.onos.openflow.drivers.impl;
diff --git a/openflow/drivers/src/main/java/org/onlab/onos/of/drivers/impl/DeleteMe.java b/openflow/drivers/src/main/java/org/onlab/onos/of/drivers/impl/DeleteMe.java
deleted file mode 100644
index 7d9176c..0000000
--- a/openflow/drivers/src/main/java/org/onlab/onos/of/drivers/impl/DeleteMe.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.onlab.onos.of.drivers.impl;
-
-/**
- * Created by tom on 9/2/14.
- */
-public class DeleteMe {
-}
diff --git a/openflow/drivers/src/main/java/org/onlab/onos/openflow/drivers/impl/DeleteMe.java b/openflow/drivers/src/main/java/org/onlab/onos/openflow/drivers/impl/DeleteMe.java
new file mode 100644
index 0000000..3f5b896
--- /dev/null
+++ b/openflow/drivers/src/main/java/org/onlab/onos/openflow/drivers/impl/DeleteMe.java
@@ -0,0 +1,7 @@
+package org.onlab.onos.openflow.drivers.impl;
+
+/**
+ * Created by tom on 9/2/14.
+ */
+public class DeleteMe {
+}
diff --git a/pom.xml b/pom.xml
index 4c7a125..4cd0f8d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -362,7 +362,7 @@
                             <title>OpenFlow Providers &amp; Controller
                             </title>
                             <packages>
-                                org.onlab.onos.provider.of.*:org.onlab.onos.of.*
+                                org.onlab.onos.provider.of.*:org.onlab.onos.openflow.*
                             </packages>
                         </group>
                         <group>
diff --git a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
index 60e282a..7fdf8cb 100644
--- a/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
+++ b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -18,11 +18,11 @@
 import org.onlab.onos.net.device.PortDescription;
 import org.onlab.onos.net.provider.AbstractProvider;
 import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
-import org.onlab.onos.of.controller.OpenFlowSwitchListener;
-import org.onlab.onos.of.controller.RoleState;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.OpenFlowSwitchListener;
+import org.onlab.onos.openflow.controller.RoleState;
 import org.projectfloodlight.openflow.protocol.OFPortConfig;
 import org.projectfloodlight.openflow.protocol.OFPortDesc;
 import org.projectfloodlight.openflow.protocol.OFPortState;
@@ -33,8 +33,8 @@
 import java.util.List;
 
 import static org.onlab.onos.net.DeviceId.deviceId;
-import static org.onlab.onos.of.controller.Dpid.dpid;
-import static org.onlab.onos.of.controller.Dpid.uri;
+import static org.onlab.onos.openflow.controller.Dpid.dpid;
+import static org.onlab.onos.openflow.controller.Dpid.uri;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
index 38ba59b..0c15d95 100644
--- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
+++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
@@ -36,9 +36,9 @@
 import org.onlab.onos.net.provider.AbstractProvider;
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.onos.net.topology.TopologyService;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
 import org.projectfloodlight.openflow.protocol.OFFactory;
 import org.projectfloodlight.openflow.protocol.OFFlowMod;
 import org.projectfloodlight.openflow.protocol.OFFlowModFlags;
diff --git a/providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java b/providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java
index 396852d..28408ab 100644
--- a/providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java
+++ b/providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java
@@ -25,10 +25,10 @@
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.onos.net.topology.Topology;
 import org.onlab.onos.net.topology.TopologyService;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
-import org.onlab.onos.of.controller.PacketListener;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.PacketListener;
 import org.onlab.packet.ARP;
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.IpAddress;
diff --git a/providers/openflow/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java b/providers/openflow/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java
index ea8db19..78c2e41 100644
--- a/providers/openflow/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java
+++ b/providers/openflow/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java
@@ -19,10 +19,10 @@
 import org.onlab.onos.net.provider.ProviderId;
 import org.onlab.onos.net.topology.Topology;
 import org.onlab.onos.net.topology.TopologyServiceAdapter;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
-import org.onlab.onos.of.controller.OpenflowControllerAdapter;
-import org.onlab.onos.of.controller.PacketListener;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.OpenflowControllerAdapter;
+import org.onlab.onos.openflow.controller.PacketListener;
 import org.onlab.packet.ARP;
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.MacAddress;
diff --git a/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java b/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
index dfff4d5..1c98ad9 100644
--- a/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
+++ b/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
@@ -15,7 +15,7 @@
  ******************************************************************************/
 package org.onlab.onos.provider.of.link.impl;
 
-import static org.onlab.onos.of.controller.Dpid.uri;
+import static org.onlab.onos.openflow.controller.Dpid.uri;
 import static org.slf4j.LoggerFactory.getLogger;
 
 import java.util.Collections;
@@ -37,9 +37,9 @@
 import org.onlab.onos.net.link.DefaultLinkDescription;
 import org.onlab.onos.net.link.LinkDescription;
 import org.onlab.onos.net.link.LinkProviderService;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.ONLabLddp;
 import org.onlab.packet.ONLabLddp.DPIDandPort;
diff --git a/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java b/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java
index 8935d59..1727d1d 100644
--- a/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java
+++ b/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java
@@ -16,12 +16,12 @@
 import org.onlab.onos.net.link.LinkProviderService;
 import org.onlab.onos.net.provider.AbstractProvider;
 import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
-import org.onlab.onos.of.controller.OpenFlowSwitchListener;
-import org.onlab.onos.of.controller.PacketListener;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.OpenFlowSwitch;
+import org.onlab.onos.openflow.controller.OpenFlowSwitchListener;
+import org.onlab.onos.openflow.controller.PacketListener;
 import org.projectfloodlight.openflow.protocol.OFPortConfig;
 import org.projectfloodlight.openflow.protocol.OFPortDesc;
 import org.projectfloodlight.openflow.protocol.OFPortState;
diff --git a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
index db9aae2..ef26613 100644
--- a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
+++ b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
@@ -11,7 +11,7 @@
 import org.onlab.onos.net.packet.DefaultPacketContext;
 import org.onlab.onos.net.packet.InboundPacket;
 import org.onlab.onos.net.packet.OutboundPacket;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
 import org.onlab.packet.Ethernet;
 import org.projectfloodlight.openflow.types.OFPort;
 import org.slf4j.Logger;
diff --git a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java
index 769ba7f..77fb689 100644
--- a/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java
+++ b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java
@@ -19,10 +19,10 @@
 import org.onlab.onos.net.packet.PacketProviderService;
 import org.onlab.onos.net.provider.AbstractProvider;
 import org.onlab.onos.net.provider.ProviderId;
-import org.onlab.onos.of.controller.Dpid;
-import org.onlab.onos.of.controller.OpenFlowController;
-import org.onlab.onos.of.controller.OpenFlowPacketContext;
-import org.onlab.onos.of.controller.PacketListener;
+import org.onlab.onos.openflow.controller.Dpid;
+import org.onlab.onos.openflow.controller.OpenFlowController;
+import org.onlab.onos.openflow.controller.OpenFlowPacketContext;
+import org.onlab.onos.openflow.controller.PacketListener;
 import org.slf4j.Logger;
 
 /**