[ONOS-5623] Enhance map server to handle Info-Request control msg

Change-Id: If5f68041fbef786e912fc17e33a0e296df73cd3d
diff --git a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispChannelHandler.java b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispChannelHandler.java
index 1b14a2f..1041370 100644
--- a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispChannelHandler.java
+++ b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/LispChannelHandler.java
@@ -21,6 +21,8 @@
 import io.netty.handler.timeout.IdleStateEvent;
 import io.netty.util.ReferenceCountUtil;
 import org.onosproject.lisp.msg.protocols.LispEncapsulatedControl;
+import org.onosproject.lisp.msg.protocols.LispInfoReply;
+import org.onosproject.lisp.msg.protocols.LispInfoRequest;
 import org.onosproject.lisp.msg.protocols.LispMapNotify;
 import org.onosproject.lisp.msg.protocols.LispMapRegister;
 import org.onosproject.lisp.msg.protocols.LispMapRequest;
@@ -64,6 +66,16 @@
         } finally {
             ReferenceCountUtil.release(msg);
         }
+
+        if (msg instanceof LispInfoRequest) {
+            LispMapServer mapServer = new LispMapServer();
+            LispInfoReply infoReply = mapServer.processInfoRequest((LispInfoRequest) msg);
+
+            // try to remove the received info-request message from buffer
+            ReferenceCountUtil.release(msg);
+
+            ctx.writeAndFlush(infoReply);
+        }
     }
 
     @Override