diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispEidRecord.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispEidRecord.java
index 1e79d19..35fe975 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispEidRecord.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/LispEidRecord.java
@@ -18,8 +18,11 @@
 import io.netty.buffer.ByteBuf;
 import org.onosproject.lisp.msg.exceptions.LispParseError;
 import org.onosproject.lisp.msg.exceptions.LispReaderException;
+import org.onosproject.lisp.msg.exceptions.LispWriterException;
 import org.onosproject.lisp.msg.types.LispAfiAddress;
 
+import static org.onosproject.lisp.msg.types.LispAfiAddress.AfiAddressWriter;
+
 /**
  * LISP EID record section which is part of LISP map request message.
  */
@@ -58,9 +61,9 @@
     }
 
     /**
-     * A private LISP message reader for EidRecord portion.
+     * A LISP message reader for EidRecord portion.
      */
-    public static class EidRecordReader implements LispMessageReader<LispEidRecord> {
+    public static final class EidRecordReader implements LispMessageReader<LispEidRecord> {
 
         private static final int RESERVED_SKIP_LENGTH = 1;
 
@@ -77,4 +80,26 @@
             return new LispEidRecord((byte) maskLength, prefix);
         }
     }
+
+    /**
+     * A LISP message writer for EidRecord portion.
+     */
+    public static final class EidRecordWriter implements LispMessageWriter<LispEidRecord> {
+
+        private static final int UNUSED_ZERO = 0;
+
+        @Override
+        public void writeTo(ByteBuf byteBuf, LispEidRecord message) throws LispWriterException {
+
+            // fill zero into reserved field
+            byteBuf.writeByte((short) UNUSED_ZERO);
+
+            // mask length
+            byteBuf.writeByte(message.getMaskLength());
+
+            // EID prefix AFI with EID prefix
+            AfiAddressWriter afiAddressWriter = new AfiAddressWriter();
+            afiAddressWriter.writeTo(byteBuf, message.getPrefix());
+        }
+    }
 }
