diff --git a/core/api/src/main/java/org/onosproject/net/pi/model/PiPipeconf.java b/core/api/src/main/java/org/onosproject/net/pi/model/PiPipeconf.java
index 098bef7..9ebd70f 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/model/PiPipeconf.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/model/PiPipeconf.java
@@ -125,6 +125,11 @@
         // TODO: consider a better way to get the CPU port in the interpreter
         // (see FabricInterpreter.java mapLogicalPortNumber). Perhaps using
         // pipeconf annotations?
-        CPU_PORT_TXT
+        CPU_PORT_TXT,
+
+        /**
+         * Raw device config.
+         */
+        RAW_DEVICE_CONFIG
     }
 }
diff --git a/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/TofinoPipelineProgrammable.java b/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/TofinoPipelineProgrammable.java
index 114b2af..7b50377 100644
--- a/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/TofinoPipelineProgrammable.java
+++ b/drivers/barefoot/src/main/java/org/onosproject/drivers/barefoot/TofinoPipelineProgrammable.java
@@ -31,6 +31,7 @@
 import java.util.List;
 import java.util.Optional;
 
+import static org.onosproject.net.pi.model.PiPipeconf.ExtensionType.RAW_DEVICE_CONFIG;
 import static org.onosproject.net.pi.model.PiPipeconf.ExtensionType.TOFINO_BIN;
 import static org.onosproject.net.pi.model.PiPipeconf.ExtensionType.TOFINO_CONTEXT_JSON;
 
@@ -48,14 +49,18 @@
 
     @Override
     public ByteBuffer createDeviceDataBuffer(PiPipeconf pipeconf) {
-
         List<ByteBuffer> buffers = Lists.newLinkedList();
-        try {
-            buffers.add(nameBuffer(pipeconf));
-            buffers.add(extensionBuffer(pipeconf, TOFINO_BIN));
-            buffers.add(extensionBuffer(pipeconf, TOFINO_CONTEXT_JSON));
-        } catch (ExtensionException e) {
-            return null;
+
+        if (pipeconf.extension(RAW_DEVICE_CONFIG).isPresent()) {
+            buffers.add(rawDeviceConfig(pipeconf));
+        } else {
+            try {
+                buffers.add(nameBuffer(pipeconf));
+                buffers.add(extensionBuffer(pipeconf, TOFINO_BIN));
+                buffers.add(extensionBuffer(pipeconf, TOFINO_CONTEXT_JSON));
+            } catch (ExtensionException e) {
+                return null;
+            }
         }
 
         // Concatenate buffers (flip so they can be read).
@@ -95,6 +100,19 @@
         }
     }
 
+    private ByteBuffer rawDeviceConfig(PiPipeconf pipeconf) {
+        try {
+            byte[] bytes = IOUtils.toByteArray(pipeconf.extension(RAW_DEVICE_CONFIG).get());
+            return ByteBuffer.allocate(bytes.length)
+                    .order(ByteOrder.LITTLE_ENDIAN)
+                    .put(bytes);
+        } catch (IOException ex) {
+            log.warn("Unable to read raw device config from pipeconf {}: {}",
+                     pipeconf.id(), ex.getMessage());
+            throw new ExtensionException();
+        }
+    }
+
     private static class ExtensionException extends IllegalArgumentException {
     }
 }
