Hi Musab,

Some info below.

On Wed, Jan 13, 2016 at 11:57 AM, MUSAB MUHAMMAD <[email protected]> wrote:

> Hi all,
>
> As part of my PhD work I have built an area information server (AIS) which
> main purpose is serving LISP-MNs. I am trying to integrate it with LISP and
> needing some help from you to do the following:
>
> (1) Configure lispd with an additional map_server (my AIS) either in the
> configuration file or hard coded somewhere in the code.
>

This should be easy, you could take a look at the current code to configure
a MS today (look in lispd_config_functions.c) and copy/paste/adapt to your
needs.


> (2) On command, in additional to the regular control messages, get lispd
> to send map-register (with NULL RLOC) to my AIS as well. Specifically, I
> need to know what object to use as the context for my event handler, such
> that it will have the newly configured AIS available, and the means to
> transmit the messages out to it.
>

Well, since LISPmob is written in C there is no "Object" you can hook for
events. I'd recommend to start at the code that builds a Map-Register (it
should be on the lispmob-xtr.c file), and follow back the function calls to
find where it is used.



> (3) On signal strength going down to a certain threshold, send an smr to
> PxTR and the subsequent map-reply that is invoked by the encapsulated
> map-request from the pxtr should carry the address of my AIS rather than
> the MN's RLOC.
>

LISPmob only monitors interfaces going up or down so handling signal levels
may be a bit tricky :S

(4) On link coming up,  in additional to the regular control messages, send
> map-register (similar to the one sent to the map-server) to the AIS. I just
> want to tack the extra-message to the already existing control messages
> sent.
>

Here you can probably hack again the map-register code as in point (2) to
suit your needs.

>
> Hopefully, you can point me to the exact functions that respond to these
> events and how best to go about making changes to the lispmob code. All
> help is welcomed please.
>
> Bear in mind that there are several tight control-data plane interactions
in LISPmob, and thus it is not easy to point to an "exact" function. In
other words, when LISPmob has to take action on something, it may require
interactions from several different parts of the code.

I'd recommend that, instead of jumping in directly into the details, try
first to follow the normal execution flow of the code. Once you have a
general understanding of it, modifying it to your needs should be easy.

The main loop listens for both data packets and the different control
messages. It then has specific callbacks for each when LISPmob receives
them. That should be a good point to start following the execution :)

Best,
Alberto


> Regards,
>
> Musab Isah
> Research Student,
> School of Computing and Communications,
> D29, InfoLab21
> Lancaster University
>

Reply via email to