diff --git a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
index 1eff64b..5164e45 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/criteria/Criteria.java
@@ -133,7 +133,7 @@
     /**
      * Creates a match on IP ECN field using the specified value.
      *
-     * @param ipEcn ip ecn value (3 bits)
+     * @param ipEcn ip ecn value (2 bits)
      * @return match criterion
      */
     public static Criterion matchIPEcn(byte ipEcn) {
@@ -770,16 +770,16 @@
 
     /**
      * Implementation of IP ECN (Explicit Congestion Notification) criterion
-     * (3 bits).
+     * (2 bits).
      */
     public static final class IPEcnCriterion implements Criterion {
-        private static final byte MASK = 0x7;
-        private final byte ipEcn;               // IP ECN value: 3 bits
+        private static final byte MASK = 0x3;
+        private final byte ipEcn;               // IP ECN value: 2 bits
 
         /**
          * Constructor.
          *
-         * @param ipEcn the IP ECN value to match (3 bits)
+         * @param ipEcn the IP ECN value to match (2 bits)
          */
         public IPEcnCriterion(byte ipEcn) {
             this.ipEcn = (byte) (ipEcn & MASK);
@@ -793,7 +793,7 @@
         /**
          * Gets the IP ECN value to match.
          *
-         * @return the IP ECN value to match (3 bits)
+         * @return the IP ECN value to match (2 bits)
          */
         public byte ipEcn() {
             return ipEcn;
diff --git a/web/api/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java b/web/api/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java
index a8dc560..731f03e 100644
--- a/web/api/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java
+++ b/web/api/src/test/java/org/onosproject/codec/impl/CriterionCodecTest.java
@@ -173,7 +173,7 @@
      */
     @Test
     public void matchIPEcnTest() {
-        Criterion criterion = Criteria.matchIPEcn((byte) 7);
+        Criterion criterion = Criteria.matchIPEcn((byte) 3);
         ObjectNode result = criterionCodec.encode(criterion, context);
         assertThat(result, matchesCriterion(criterion));
     }
