diff --git a/core/api/src/main/java/org/onosproject/net/group/DefaultGroupBucket.java b/core/api/src/main/java/org/onosproject/net/group/DefaultGroupBucket.java
index 6986103..4b3d64f 100644
--- a/core/api/src/main/java/org/onosproject/net/group/DefaultGroupBucket.java
+++ b/core/api/src/main/java/org/onosproject/net/group/DefaultGroupBucket.java
@@ -153,6 +153,20 @@
                                       null);
     }
 
+    /**
+     * Creates clone group bucket.
+     *
+     * @param treatment traffic treatment associated with group bucket
+     * @return clone group bucket object
+     */
+    public static GroupBucket createCloneGroupBucket(TrafficTreatment treatment) {
+        return new DefaultGroupBucket(GroupDescription.Type.CLONE,
+                                      treatment,
+                                      (short) -1,
+                                      null,
+                                      null);
+    }
+
     @Override
     public GroupDescription.Type type() {
         return this.type;
diff --git a/core/api/src/main/java/org/onosproject/net/group/GroupDescription.java b/core/api/src/main/java/org/onosproject/net/group/GroupDescription.java
index 3ae93d5..69ebe8d 100644
--- a/core/api/src/main/java/org/onosproject/net/group/GroupDescription.java
+++ b/core/api/src/main/java/org/onosproject/net/group/GroupDescription.java
@@ -41,6 +41,12 @@
          */
         ALL,
         /**
+         * Similar to {@link Type#ALL} but used for cloning of packets
+         * independently of the egress decision (singleton treatment or other
+         * group).
+         */
+        CLONE,
+        /**
          * Uses the first live bucket in a group.
          */
         FAILOVER
diff --git a/core/common/src/main/java/org/onosproject/codec/impl/GroupCodec.java b/core/common/src/main/java/org/onosproject/codec/impl/GroupCodec.java
index 36df2f6..37c0319 100644
--- a/core/common/src/main/java/org/onosproject/codec/impl/GroupCodec.java
+++ b/core/common/src/main/java/org/onosproject/codec/impl/GroupCodec.java
@@ -146,6 +146,9 @@
             case "ALL":
                 groupType = Group.Type.ALL;
                 break;
+            case "CLONE":
+                groupType = Group.Type.CLONE;
+                break;
             case "FAILOVER":
                 groupType = Group.Type.FAILOVER;
                 break;
diff --git a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java
index 433cfb6..9661d03 100644
--- a/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java
+++ b/providers/openflow/group/src/main/java/org/onosproject/provider/of/group/impl/OpenFlowGroupProvider.java
@@ -200,6 +200,21 @@
                 log.error("SW {} is not found", dpid);
                 return;
             }
+
+            switch (groupOperation.groupType()) {
+                case SELECT:
+                case INDIRECT:
+                case ALL:
+                case FAILOVER:
+                    break;
+                case CLONE:
+                default:
+                    log.warn("Group type {} not supported, ignoring operation [{}]",
+                             groupOperation.groupType(), groupOperation);
+                    //  Next groupOperation.
+                    continue;
+            }
+
             final Long groupModXid = XID_COUNTER.getAndIncrement();
             GroupModBuilder builder = null;
             if (driverService == null) {
