Merge "Bug 6297: Change subscriber's RLOC selection algo"
[lispflowmapping.git] / mappingservice / southbound / src / main / java / org / opendaylight / lispflowmapping / southbound / lisp / LispXtrSouthboundHandler.java
index 2e330fb94046a411af2d1a30ba1b1b8996c3ae09..eaff645ee968fc2a72c6813dc04c3ea4eda64f3b 100644 (file)
@@ -48,7 +48,7 @@ public class LispXtrSouthboundHandler extends SimpleChannelInboundHandler<Datagr
         Object lispType = MessageType.forValue((int) (ByteUtil.getUnsignedByte(inBuffer, LispMessage.Pos.TYPE) >> 4));
         if (lispType == MessageType.MapRequest) {
             LOG.trace("Received packet of type MapRequest for xTR");
-            handleMapRequest(inBuffer);
+            handleMapRequest(inBuffer, packet.sender().getAddress());
         } else if (lispType ==  MessageType.MapReply){
             LOG.trace("Received packet of type MapReply for xTR");
             handleMapReply(inBuffer);
@@ -57,9 +57,9 @@ public class LispXtrSouthboundHandler extends SimpleChannelInboundHandler<Datagr
         }
     }
 
-    private void handleMapRequest(ByteBuffer inBuffer) {
+    private void handleMapRequest(ByteBuffer inBuffer, InetAddress sourceAddress) {
         try {
-            MapRequest request = MapRequestSerializer.getInstance().deserialize(inBuffer);
+            MapRequest request = MapRequestSerializer.getInstance().deserialize(inBuffer, sourceAddress);
             InetAddress finalSourceAddress = MapRequestUtil.selectItrRloc(request);
             if (finalSourceAddress == null) {
                 throw new LispMalformedPacketException("Couldn't deserialize Map-Request, no ITR Rloc found!");