diff --git a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionSelectorInterpreter.java b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionSelectorInterpreter.java
index 740f40f..37726ba 100644
--- a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionSelectorInterpreter.java
+++ b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionSelectorInterpreter.java
@@ -17,7 +17,7 @@
 package org.onosproject.openflow.controller;
 
 import com.google.common.annotations.Beta;
-import org.onosproject.net.driver.HandlerBehaviour;
+import org.onosproject.codec.ExtensionSelectorCodec;
 import org.onosproject.net.flow.criteria.ExtensionSelector;
 import org.onosproject.net.flow.criteria.ExtensionSelectorType;
 import org.projectfloodlight.openflow.protocol.OFFactory;
@@ -27,7 +27,7 @@
  * Interprets extension selectors and converts them to/from OpenFlow objects.
  */
 @Beta
-public interface ExtensionSelectorInterpreter extends HandlerBehaviour {
+public interface ExtensionSelectorInterpreter extends ExtensionSelectorCodec {
 
     /**
      * Returns true if the given extension selector is supported by this
diff --git a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
index 8a6eeda..f511ef3 100644
--- a/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
+++ b/protocols/openflow/api/src/main/java/org/onosproject/openflow/controller/ExtensionTreatmentInterpreter.java
@@ -17,7 +17,7 @@
 package org.onosproject.openflow.controller;
 
 import com.google.common.annotations.Beta;
-import org.onosproject.net.driver.HandlerBehaviour;
+import org.onosproject.codec.ExtensionTreatmentCodec;
 import org.onosproject.net.flow.instructions.ExtensionTreatment;
 import org.onosproject.net.flow.instructions.ExtensionTreatmentType;
 import org.projectfloodlight.openflow.protocol.OFFactory;
@@ -27,7 +27,7 @@
  * Interprets extension treatments and converts them to/from OpenFlow objects.
  */
 @Beta
-public interface ExtensionTreatmentInterpreter extends HandlerBehaviour {
+public interface ExtensionTreatmentInterpreter extends ExtensionTreatmentCodec {
 
     /**
      * Returns true if the given extension treatment is supported by this
@@ -55,5 +55,4 @@
      * @throws UnsupportedOperationException if driver does not support extension type
      */
     ExtensionTreatment mapAction(OFAction action) throws UnsupportedOperationException;
-
 }
