diff --git a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpFsIcmpType.java b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpFsIcmpType.java
index d3d0329..22682b9 100755
--- a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpFsIcmpType.java
+++ b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/BgpFsIcmpType.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.bgpio.types;
 
+import java.util.LinkedList;
 import java.util.Objects;
 
 import org.jboss.netty.buffer.ChannelBuffer;
@@ -78,12 +79,21 @@
      * Reads the channel buffer and returns object.
      *
      * @param cb channelBuffer
-     * @param type address type
      * @return object of flow spec ICMP type
      * @throws BgpParseException while parsing BgpFsIcmpType
      */
-    public static BgpFsIcmpType read(ChannelBuffer cb, short type) throws BgpParseException {
-        return null;
+    public static BgpFsIcmpType read(ChannelBuffer cb) throws BgpParseException {
+        List<BgpFsOperatorValue> operatorValue = new LinkedList<>();
+        byte option;
+        byte icmpType;
+
+        do {
+            option = (byte) cb.readByte();
+            icmpType = cb.readByte();
+            operatorValue.add(new BgpFsOperatorValue(option, new byte[] {(byte) icmpType}));
+        } while ((option & Constants.BGP_FLOW_SPEC_END_OF_LIST_MASK) == 0);
+
+        return new BgpFsIcmpType(operatorValue);
     }
 
     @Override
