Bugfix: Parse the LCAF address by referring to length field value

Change-Id: Ia43521f531ad03f609219048f0fb1485118cd181
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReplyTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReplyTest.java
index 2ab8002..7e3849a 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReplyTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispInfoReplyTest.java
@@ -30,6 +30,7 @@
 import org.onosproject.lisp.msg.protocols.LispInfoReply.InfoReplyBuilder;
 import org.onosproject.lisp.msg.types.LispIpv4Address;
 import org.onosproject.lisp.msg.types.LispNatLcafAddress;
+import org.onosproject.lisp.msg.types.LispNatLcafAddress.NatAddressBuilder;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
@@ -58,14 +59,14 @@
 
         LispIpv4Address address1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.4"));
 
-        LispNatLcafAddress natLcafAddress1 = new LispNatLcafAddress.NatAddressBuilder()
-                                                        .withLength((short) 0)
-                                                        .withMsUdpPortNumber(msUdpPortNumber1)
-                                                        .withEtrUdpPortNumber(etrUdpPortNumber1)
-                                                        .withGlobalEtrRlocAddress(globalEtrRlocAddress1)
-                                                        .withMsRlocAddress(msRlocAddress1)
-                                                        .withPrivateEtrRlocAddress(privateEtrRlocAddress1)
-                                                        .build();
+        LispNatLcafAddress natLcafAddress1 = new NatAddressBuilder()
+                                                    .withLength((short) 0)
+                                                    .withMsUdpPortNumber(msUdpPortNumber1)
+                                                    .withEtrUdpPortNumber(etrUdpPortNumber1)
+                                                    .withGlobalEtrRlocAddress(globalEtrRlocAddress1)
+                                                    .withMsRlocAddress(msRlocAddress1)
+                                                    .withPrivateEtrRlocAddress(privateEtrRlocAddress1)
+                                                    .build();
 
         reply1 = builder1
                     .withNonce(1L)
@@ -97,14 +98,14 @@
 
         LispIpv4Address address2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.4"));
 
-        LispNatLcafAddress natLcafAddress2 = new LispNatLcafAddress.NatAddressBuilder()
-                                                        .withLength((short) 0)
-                                                        .withMsUdpPortNumber(msUdpPortNumber2)
-                                                        .withEtrUdpPortNumber(etrUdpPortNumber2)
-                                                        .withGlobalEtrRlocAddress(globalEtrRlocAddress2)
-                                                        .withMsRlocAddress(msRlocAddress2)
-                                                        .withPrivateEtrRlocAddress(privateEtrRlocAddress2)
-                                                        .build();
+        LispNatLcafAddress natLcafAddress2 = new NatAddressBuilder()
+                                                    .withLength((short) 0)
+                                                    .withMsUdpPortNumber(msUdpPortNumber2)
+                                                    .withEtrUdpPortNumber(etrUdpPortNumber2)
+                                                    .withGlobalEtrRlocAddress(globalEtrRlocAddress2)
+                                                    .withMsRlocAddress(msRlocAddress2)
+                                                    .withPrivateEtrRlocAddress(privateEtrRlocAddress2)
+                                                    .build();
 
         reply2 = builder3
                         .withNonce(2L)
@@ -135,7 +136,7 @@
         LispIpv4Address msRlocAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
         LispIpv4Address privateEtrRlocAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.3"));
 
-        LispNatLcafAddress natLcafAddress = new LispNatLcafAddress.NatAddressBuilder()
+        LispNatLcafAddress natLcafAddress = new NatAddressBuilder()
                 .withLength((short) 0)
                 .withMsUdpPortNumber(msUdpPortNumber1)
                 .withEtrUdpPortNumber(etrUdpPortNumber1)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispNatLcafAddressTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispNatLcafAddressTest.java
index f8584bdc..2fb6b25 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispNatLcafAddressTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispNatLcafAddressTest.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.lisp.msg.types;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.testing.EqualsTester;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
@@ -28,6 +29,8 @@
 import org.onosproject.lisp.msg.types.LispNatLcafAddress.NatLcafAddressReader;
 import org.onosproject.lisp.msg.types.LispNatLcafAddress.NatLcafAddressWriter;
 
+import java.util.List;
+
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 
@@ -51,6 +54,10 @@
         LispIpv4Address msRlocAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
         LispIpv4Address privateEtrRlocAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.3"));
 
+        LispIpv4Address rtrRloc11 = new LispIpv4Address(IpAddress.valueOf("10.1.1.1"));
+        LispIpv4Address rtrRloc12 = new LispIpv4Address(IpAddress.valueOf("10.1.1.2"));
+        List<LispAfiAddress> rtrRlocs1 = ImmutableList.of(rtrRloc11, rtrRloc12);
+
         address1 = builder1
                         .withLength((short) 0)
                         .withMsUdpPortNumber(msUdpPortNumber1)
@@ -58,6 +65,7 @@
                         .withGlobalEtrRlocAddress(globalEtrRlocAddress1)
                         .withMsRlocAddress(msRlocAddress1)
                         .withPrivateEtrRlocAddress(privateEtrRlocAddress1)
+                        .withRtrRlocAddresses(rtrRlocs1)
                         .build();
 
         NatAddressBuilder builder2 = new NatAddressBuilder();
@@ -69,6 +77,7 @@
                         .withGlobalEtrRlocAddress(globalEtrRlocAddress1)
                         .withMsRlocAddress(msRlocAddress1)
                         .withPrivateEtrRlocAddress(privateEtrRlocAddress1)
+                        .withRtrRlocAddresses(rtrRlocs1)
                         .build();
 
         NatAddressBuilder builder3 = new NatAddressBuilder();
@@ -79,6 +88,10 @@
         LispIpv4Address msRlocAddress2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.2"));
         LispIpv4Address privateEtrRlocAddress2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.3"));
 
+        LispIpv4Address rtrRloc21 = new LispIpv4Address(IpAddress.valueOf("10.1.2.1"));
+        LispIpv4Address rtrRloc22 = new LispIpv4Address(IpAddress.valueOf("10.1.2.2"));
+        List<LispAfiAddress> rtrRlocs2 = ImmutableList.of(rtrRloc21, rtrRloc22);
+
         address2 = builder3
                         .withLength((short) 0)
                         .withMsUdpPortNumber(msUdpPortNumber2)
@@ -86,6 +99,7 @@
                         .withGlobalEtrRlocAddress(globalEtrRlocAddress2)
                         .withMsRlocAddress(msRlocAddress2)
                         .withPrivateEtrRlocAddress(privateEtrRlocAddress2)
+                        .withRtrRlocAddresses(rtrRlocs2)
                         .build();
     }
 
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispTeLcafAddressTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispTeLcafAddressTest.java
index 1b58f60..b800e6e 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispTeLcafAddressTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispTeLcafAddressTest.java
@@ -26,8 +26,8 @@
 import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.exceptions.LispWriterException;
 import org.onosproject.lisp.msg.types.LispTeLcafAddress.TeAddressBuilder;
-import org.onosproject.lisp.msg.types.LispTeLcafAddress.TeAddressBuilder.TeLcafAddressReader;
-import org.onosproject.lisp.msg.types.LispTeLcafAddress.TeAddressBuilder.TeLcafAddressWriter;
+import org.onosproject.lisp.msg.types.LispTeLcafAddress.TeLcafAddressReader;
+import org.onosproject.lisp.msg.types.LispTeLcafAddress.TeLcafAddressWriter;
 import org.onosproject.lisp.msg.types.LispTeRecord.TeRecordBuilder;
 
 import static org.hamcrest.MatcherAssert.assertThat;