[ONOS-4718] Deserialize addresses from LISP control message class

With this commit, we try to deserilize all LispAfiAddress from
all LISP control message classes.

Change-Id: Iaf911bff90c45a70859285e426dc1649c3e6db32
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
index 29ad1bd..66ef81d 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
@@ -19,6 +19,7 @@
 import io.netty.buffer.ByteBuf;
 import org.onlab.util.ByteOperator;
 import org.onosproject.lisp.msg.exceptions.LispParseError;
+import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.types.LispAfiAddress;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
@@ -222,7 +223,7 @@
         private static final int ROUTED_INDEX = 0;
 
         @Override
-        public LispLocatorRecord readFrom(ByteBuf byteBuf) throws LispParseError {
+        public LispLocatorRecord readFrom(ByteBuf byteBuf) throws LispParseError, LispReaderException {
 
             // priority -> 8 bits
             byte priority = (byte) byteBuf.readUnsignedByte();
@@ -250,7 +251,7 @@
             // routed flag -> 1 bit
             boolean routed = ByteOperator.getBit(flags, ROUTED_INDEX);
 
-            // TODO: de-serialize ITR-RLOC AFI and address
+            LispAfiAddress address = new LispAfiAddress.AfiAddressReader().readFrom(byteBuf);
 
             return new DefaultLocatorRecordBuilder()
                         .withPriority(priority)
@@ -260,6 +261,7 @@
                         .withLocalLocator(localLocator)
                         .withRlocProbed(rlocProbed)
                         .withRouted(routed)
+                        .withLocatorAfi(address)
                         .build();
         }
     }