Hi Musab, See inline.
On Tue, Jan 19, 2016 at 12:06 PM, MUSAB MUHAMMAD <[email protected]> wrote: > Hi Alberto, > > Thanks for your reply once again. As a follow up: > > "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." > > I forgot to mention that I'm using lispmob 0.5, which doesn't appear to > have lispmob-xtr.c file; I presume it's in an earlier version. Perhaps it > roughly corresponds to control/lisp_xtr.c in this version. And by 'object', > I mean such things as the lisp_xtr_t object pointed to as first argument in > most functions in lisp_xtr.c. > > You got the right file. I believe that control/lisp_xtr.c is the file you should modify to achieve your goals. > "LISPmob only monitors interfaces going up or down so handling signal > levels may be a bit tricky :S" > > Actually, I already have a crude plan to have an external process detect > this, and inform lispd via a FIFO, which is enough for my purposes for the > time being. > That's quite cool. Maybe you can share the final prototype with the community once you are done. I'm sure that more users will find it interesting! Best, Alberto > > Regards, > > > > Musab Isah > Research Student, > School of Computing and Communications, > D29, InfoLab21 > Lancaster University > > > On Friday, January 15, 2016 9:31 AM, Alberto Rodriguez-Natal < > [email protected]> wrote: > > > 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 > > > > >
