diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
index d5fbc988..e0d631f 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
@@ -15,6 +15,9 @@
  */
 package org.onosproject.lisp.msg.types;
 
+import io.netty.buffer.ByteBuf;
+import org.onosproject.lisp.msg.exceptions.LispParseError;
+
 import java.util.Objects;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
@@ -69,4 +72,24 @@
                 .add("distinguished name", distinguishedName)
                 .toString();
     }
+
+    /**
+     * Distinguished name address reader class.
+     */
+    public static class DistinguishedNameAddressReader
+                        implements LispAddressReader<LispDistinguishedNameAddress> {
+
+        @Override
+        public LispDistinguishedNameAddress readFrom(ByteBuf byteBuf) throws LispParseError {
+
+            StringBuilder sb = new StringBuilder();
+            byte character = byteBuf.readByte();
+            while (character != 0) {
+                sb.append((char) character);
+                character = byteBuf.readByte();
+            }
+
+            return new LispDistinguishedNameAddress(sb.toString());
+        }
+    }
 }
