diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispListLcafAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispListLcafAddress.java
index 85e5a86..2077059 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispListLcafAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispListLcafAddress.java
@@ -16,6 +16,9 @@
 package org.onosproject.lisp.msg.types;
 
 import com.google.common.collect.ImmutableList;
+import io.netty.buffer.ByteBuf;
+import org.onosproject.lisp.msg.exceptions.LispParseError;
+import org.onosproject.lisp.msg.exceptions.LispReaderException;
 
 import java.util.List;
 import java.util.Objects;
@@ -51,7 +54,7 @@
  * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  * }</pre>
  */
-public class LispListLcafAddress extends LispLcafAddress {
+public final class LispListLcafAddress extends LispLcafAddress {
 
     private static final byte LENGTH = 24;
     List<LispAfiAddress> addresses;
@@ -99,4 +102,20 @@
                 .add("addresses", addresses)
                 .toString();
     }
+
+    /**
+     * List LCAF address reader class.
+     */
+    public static class ListLcafAddressReader implements LispAddressReader<LispListLcafAddress> {
+
+        @Override
+        public LispListLcafAddress readFrom(ByteBuf byteBuf) throws LispParseError, LispReaderException {
+
+
+            LispAfiAddress ipv4 = new LispIpAddress.IpAddressReader().readFrom(byteBuf);
+            LispAfiAddress ipv6 = new LispIpAddress.IpAddressReader().readFrom(byteBuf);
+
+            return new LispListLcafAddress(ImmutableList.of(ipv4, ipv6));
+        }
+    }
 }
