diff --git a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
index 2ca421e..3b10907 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/DecodeConstraintCodecHelper.java
@@ -26,6 +26,7 @@
 import org.onosproject.net.intent.constraint.AnnotationConstraint;
 import org.onosproject.net.intent.constraint.AsymmetricPathConstraint;
 import org.onosproject.net.intent.constraint.BandwidthConstraint;
+import org.onosproject.net.intent.constraint.DomainConstraint;
 import org.onosproject.net.intent.constraint.LatencyConstraint;
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
@@ -159,6 +160,16 @@
     }
 
     /**
+     * Decodes a domain constraint.
+     *
+     * @return domain constraint object.
+     */
+    private Constraint decodeDomainConstraint() {
+        return DomainConstraint.domain();
+    }
+
+
+    /**
      * Decodes a bandwidth constraint.
      *
      * @return bandwidth constraint object.
@@ -195,6 +206,8 @@
             return decodeWaypointConstraint();
         } else if (type.equals(AsymmetricPathConstraint.class.getSimpleName())) {
             return decodeAsymmetricPathConstraint();
+        } else if (type.equals(DomainConstraint.class.getSimpleName())) {
+            return decodeDomainConstraint();
         }
         throw new IllegalArgumentException("Instruction type "
                 + type + " is not supported");
diff --git a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
index d282fbc..569a775 100644
--- a/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
+++ b/core/common/src/test/java/org/onosproject/codec/impl/ConstraintCodecTest.java
@@ -28,6 +28,7 @@
 import org.onosproject.net.intent.constraint.AnnotationConstraint;
 import org.onosproject.net.intent.constraint.AsymmetricPathConstraint;
 import org.onosproject.net.intent.constraint.BandwidthConstraint;
+import org.onosproject.net.intent.constraint.DomainConstraint;
 import org.onosproject.net.intent.constraint.LatencyConstraint;
 import org.onosproject.net.intent.constraint.LinkTypeConstraint;
 import org.onosproject.net.intent.constraint.ObstacleConstraint;
@@ -186,4 +187,13 @@
         Constraint constraint = getConstraint("AsymmetricPathConstraint.json");
         assertThat(constraint, instanceOf(AsymmetricPathConstraint.class));
     }
+
+    /**
+     * Tests domain constraint.
+     */
+    @Test
+    public void domainConstraint() {
+        Constraint constraint = getConstraint("DomainConstraint.json");
+        assertThat(constraint, instanceOf(DomainConstraint.class));
+    }
 }
diff --git a/core/common/src/test/resources/org/onosproject/codec/impl/DomainConstraint.json b/core/common/src/test/resources/org/onosproject/codec/impl/DomainConstraint.json
new file mode 100644
index 0000000..79e67f9
--- /dev/null
+++ b/core/common/src/test/resources/org/onosproject/codec/impl/DomainConstraint.json
@@ -0,0 +1,3 @@
+{
+  "type":"DomainConstraint"
+}
