diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
index 31d607b..1cc5829 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispIpv4Address.java
@@ -15,7 +15,9 @@
  */
 package org.onosproject.lisp.msg.types;
 
+import io.netty.buffer.ByteBuf;
 import org.onlab.packet.IpAddress;
+import org.onosproject.lisp.msg.exceptions.LispParseError;
 
 import java.util.Objects;
 
@@ -54,4 +56,22 @@
     public int hashCode() {
         return Objects.hash(address, getAfi());
     }
+
+    /**
+     * IPv4 address reader class.
+     */
+    public static class Ipv4AddressReader implements LispAddressReader<LispIpv4Address> {
+
+        private static final int SIZE_OF_IPV4_ADDRESS = 4;
+
+        @Override
+        public LispIpv4Address readFrom(ByteBuf byteBuf) throws LispParseError {
+
+            byte[] ipByte = new byte[SIZE_OF_IPV4_ADDRESS];
+            byteBuf.readBytes(ipByte);
+            IpAddress ipAddress = IpAddress.valueOf(IpAddress.Version.INET, ipByte);
+
+            return new LispIpv4Address(ipAddress);
+        }
+    }
 }
