diff --git a/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java
index bc0b425..df7a408 100644
--- a/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java
+++ b/apps/fwd/src/main/java/org/onlab/onos/fwd/ReactiveForwarding.java
@@ -1,9 +1,5 @@
 package org.onlab.onos.fwd;
 
-import static org.slf4j.LoggerFactory.getLogger;
-
-import java.util.Set;
-
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
@@ -31,6 +27,10 @@
 import org.onlab.packet.Ethernet;
 import org.slf4j.Logger;
 
+import java.util.Set;
+
+import static org.slf4j.LoggerFactory.getLogger;
+
 /**
  * Sample reactive forwarding application.
  */
@@ -81,7 +81,8 @@
             }
 
             InboundPacket pkt = context.inPacket();
-            HostId id = HostId.hostId(pkt.parsed().getDestinationMAC());
+            Ethernet ethPkt = pkt.parsed();
+            HostId id = HostId.hostId(ethPkt.getDestinationMAC());
 
             // Do we know who this is for? If not, flood and bail.
             Host dst = hostService.getHost(id);
@@ -100,8 +101,8 @@
             // Otherwise, get a set of paths that lead from here to the
             // destination edge switch.
             Set<Path> paths = topologyService.getPaths(topologyService.currentTopology(),
-                    context.inPacket().receivedFrom().deviceId(),
-                    dst.location().deviceId());
+                                                       pkt.receivedFrom().deviceId(),
+                                                       dst.location().deviceId());
             if (paths.isEmpty()) {
                 // If there are no paths, flood and bail.
                 flood(context);
@@ -112,7 +113,9 @@
             // came from; if no such path, flood and bail.
             Path path = pickForwardPath(paths, pkt.receivedFrom().port());
             if (path == null) {
-                log.warn("Doh... don't know where to go...");
+                log.warn("Doh... don't know where to go... {} -> {} received on {}",
+                         ethPkt.getSourceMAC(), ethPkt.getDestinationMAC(),
+                         pkt.receivedFrom().port());
                 flood(context);
                 return;
             }
@@ -133,47 +136,42 @@
         return null;
     }
 
-    // Floods the specified packet.
+    // Floods the specified packet if permissible.
     private void flood(PacketContext context) {
         if (topologyService.isBroadcastPoint(topologyService.currentTopology(),
-                context.inPacket().receivedFrom())) {
-            packetOutFlood(context);
+                                             context.inPacket().receivedFrom())) {
+            packetOut(context, PortNumber.FLOOD);
         } else {
             context.block();
         }
     }
 
-    //Floods a packet out
-    private void packetOutFlood(PacketContext context) {
-        context.treatmentBuilder().add(Instructions.createOutput(PortNumber.FLOOD));
+    // Sends a packet out the specified port.
+    private void packetOut(PacketContext context, PortNumber portNumber) {
+        context.treatmentBuilder().add(Instructions.createOutput(portNumber));
         context.send();
     }
 
     // Install a rule forwarding the packet to the specified port.
     private void installRule(PacketContext context, PortNumber portNumber) {
-        // we don't yet support bufferids in the flowservice so packet out and
-        // then install a flowmod.
-        packetOutFlood(context);
+        // We don't yet support bufferids in the flowservice so packet out first.
+        packetOut(context, portNumber);
 
+        // Install the flow rule to handle this type of message from now on.
         Ethernet inPkt = context.inPacket().parsed();
         TrafficSelector.Builder builder = new DefaultTrafficSelector.Builder();
         builder.add(Criteria.matchEthType(inPkt.getEtherType()))
-        .add(Criteria.matchEthSrc(inPkt.getSourceMAC()))
-        .add(Criteria.matchEthDst(inPkt.getDestinationMAC()))
-        .add(Criteria.matchInPort(context.inPacket().receivedFrom().port()));
+                .add(Criteria.matchEthSrc(inPkt.getSourceMAC()))
+                .add(Criteria.matchEthDst(inPkt.getDestinationMAC()))
+                .add(Criteria.matchInPort(context.inPacket().receivedFrom().port()));
 
         TrafficTreatment.Builder treat = new DefaultTrafficTreatment.Builder();
         treat.add(Instructions.createOutput(portNumber));
 
         FlowRule f = new DefaultFlowRule(context.inPacket().receivedFrom().deviceId(),
-                builder.build(), treat.build());
+                                         builder.build(), treat.build());
 
         flowRuleService.applyFlowRules(f);
-
-        // we don't yet support bufferids in the flowservice so packet out and
-        // then install a flowmod.
-        context.treatmentBuilder().add(Instructions.createOutput(portNumber));
-        context.send();
     }
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowEntry.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowEntry.java
index 12a8cb4..7bef2c8 100644
--- a/core/api/src/main/java/org/onlab/onos/net/flow/FlowEntry.java
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowEntry.java
@@ -5,6 +5,9 @@
  */
 public interface FlowEntry extends FlowRule {
 
+
+    FlowId id();
+
     /**
      * Returns the number of milliseconds this flow rule has been applied.
      *
diff --git a/core/api/src/main/java/org/onlab/onos/net/flow/FlowId.java b/core/api/src/main/java/org/onlab/onos/net/flow/FlowId.java
new file mode 100644
index 0000000..03140f7
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/net/flow/FlowId.java
@@ -0,0 +1,21 @@
+package org.onlab.onos.net.flow;
+
+/**
+ * Representation of a Flow ID.
+ */
+public final class FlowId {
+
+    private final int flowid;
+
+    private FlowId(int id) {
+        this.flowid = id;
+    }
+
+    public static FlowId valueOf(int id) {
+        return new FlowId(id);
+    }
+
+    public int value() {
+        return flowid;
+    }
+}
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 94%
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 a119be3..32bfcde 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 static org.onlab.util.Tools.namedThreads;
 
@@ -16,16 +16,16 @@
 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.OpenFlowEventListener;
-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/of/device/pom.xml b/providers/openflow/device/pom.xml
similarity index 100%
rename from providers/of/device/pom.xml
rename to providers/openflow/device/pom.xml
diff --git a/providers/of/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
similarity index 93%
rename from providers/of/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
rename to providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/OpenFlowDeviceProvider.java
index 60e282a..7fdf8cb 100644
--- a/providers/of/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/of/device/src/main/java/org/onlab/onos/provider/of/device/impl/package-info.java b/providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/package-info.java
similarity index 100%
rename from providers/of/device/src/main/java/org/onlab/onos/provider/of/device/impl/package-info.java
rename to providers/openflow/device/src/main/java/org/onlab/onos/provider/of/device/impl/package-info.java
diff --git a/providers/of/flow/.checkstyle b/providers/openflow/flow/.checkstyle
similarity index 100%
rename from providers/of/flow/.checkstyle
rename to providers/openflow/flow/.checkstyle
diff --git a/providers/of/flow/pom.xml b/providers/openflow/flow/pom.xml
similarity index 100%
rename from providers/of/flow/pom.xml
rename to providers/openflow/flow/pom.xml
diff --git a/providers/of/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
similarity index 94%
rename from providers/of/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
rename to providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java
index 9eed3c9..9a85d69 100644
--- a/providers/of/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
@@ -17,11 +17,11 @@
 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.OpenFlowEventListener;
-import org.onlab.onos.of.controller.OpenFlowSwitch;
-import org.onlab.onos.of.controller.OpenFlowSwitchListener;
+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.projectfloodlight.openflow.protocol.OFFlowRemoved;
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPortStatus;
diff --git a/providers/of/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/package-info.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/package-info.java
similarity index 100%
rename from providers/of/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/package-info.java
rename to providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/package-info.java
diff --git a/providers/of/host/pom.xml b/providers/openflow/host/pom.xml
similarity index 100%
rename from providers/of/host/pom.xml
rename to providers/openflow/host/pom.xml
diff --git a/providers/of/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
similarity index 94%
rename from providers/of/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java
rename to providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProvider.java
index 396852d..28408ab 100644
--- a/providers/of/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/of/host/src/main/java/org/onlab/onos/provider/of/host/impl/package-info.java b/providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/package-info.java
similarity index 100%
rename from providers/of/host/src/main/java/org/onlab/onos/provider/of/host/impl/package-info.java
rename to providers/openflow/host/src/main/java/org/onlab/onos/provider/of/host/impl/package-info.java
diff --git a/providers/of/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
similarity index 96%
rename from providers/of/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java
rename to providers/openflow/host/src/test/java/org/onlab/onos/provider/of/host/impl/OpenFlowHostProviderTest.java
index ea8db19..78c2e41 100644
--- a/providers/of/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/of/link/pom.xml b/providers/openflow/link/pom.xml
similarity index 100%
rename from providers/of/link/pom.xml
rename to providers/openflow/link/pom.xml
diff --git a/providers/of/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
similarity index 98%
rename from providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
rename to providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
index dfff4d5..1c98ad9 100644
--- a/providers/of/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/of/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
similarity index 92%
rename from providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java
rename to providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/OpenFlowLinkProvider.java
index 8935d59..1727d1d 100644
--- a/providers/of/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/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/package-info.java b/providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/package-info.java
similarity index 100%
rename from providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/package-info.java
rename to providers/openflow/link/src/main/java/org/onlab/onos/provider/of/link/impl/package-info.java
diff --git a/providers/of/packet/pom.xml b/providers/openflow/packet/pom.xml
similarity index 100%
rename from providers/of/packet/pom.xml
rename to providers/openflow/packet/pom.xml
diff --git a/providers/of/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
similarity index 96%
rename from providers/of/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
rename to providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowCorePacketContext.java
index c3a8577..248e17d 100644
--- a/providers/of/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/of/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
similarity index 92%
rename from providers/of/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java
rename to providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/OpenFlowPacketProvider.java
index 769ba7f..77fb689 100644
--- a/providers/of/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;
 
 /**
diff --git a/providers/of/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/package-info.java b/providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/package-info.java
similarity index 100%
rename from providers/of/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/package-info.java
rename to providers/openflow/packet/src/main/java/org/onlab/onos/provider/of/packet/impl/package-info.java
diff --git a/providers/of/pom.xml b/providers/openflow/pom.xml
similarity index 100%
rename from providers/of/pom.xml
rename to providers/openflow/pom.xml
diff --git a/providers/pom.xml b/providers/pom.xml
index fc73d3b..da63b72 100644
--- a/providers/pom.xml
+++ b/providers/pom.xml
@@ -17,7 +17,7 @@
     <description>ONOS information providers &amp; control/management protocol adapter</description>
 
     <modules>
-        <module>of</module>
+        <module>openflow</module>
     </modules>
 
     <dependencies>
