Sure I'll.
Thanks for your reply. Musab Isah
Research Student,School of Computing and Communications,D29, InfoLab21Lancaster 
University 

    On Tuesday, January 19, 2016 7:21 PM, Alberto Rodriguez-Natal 
<[email protected]> wrote:
 

 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, InfoLab21Lancaster 
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, InfoLab21Lancaster 
University



   



  

Reply via email to