Hi,

I would like to be able from my computer to be able to use lig (more
precisely to get the rlocs for a specific EID) while LISPmob being
active. I wonder what's the best way would be. My current idea is to
use LISPmob as a mapping server. With lig, I ask LISPmob which returns
me a result for the EID this xTR is responsible (153.16.49.112 being
my EID space):
teto@tatooine:~/lig$ lig -m 153.16.49.112 153.16.49.112
Send map-request to 153.16.49.112 for 153.16.49.112 ...
Received map-reply from 82.121.110.51 with rtt 0.00000 secs

Mapping entry for EID '153.16.49.112':
153.16.49.112/28, instance ID: 0,  via map-reply, record ttl: 10,
auth, not mobile
  Locator                                 State     Priority/Weight
  82.121.110.51                           up        1/100


 but not for the other EIDs:
teto@tatooine:~/lig$ lig -m 153.16.49.112 153.16.11.0
Send map-request to 153.16.49.112 for 153.16.11.0 ...
Send map-request to 153.16.49.112 for 153.16.11.0 ...


 I would like lispmob to answer for all EIDs, that is if I ask it an
EID lispmob doesn't know , it should ask its configured mapping
resolver, get the reply and then "forwards" it to my lig.
I've started modifying process_map_request_record to use
"handle_map_cache_miss" but I wonder if that's the best option.
Here is the original code:
     /* Check the existence of the requested EID */
     /* XXX aloepz: We don't use prefix mask and use by default 32 or 128*/
     identifier = lookup_eid_in_db(requested_identifier.eid_prefix);



     if (!identifier){
         lispd_log_msg(LISP_LOG_DEBUG_1,"The requested EID doesn't
belong to this node: %s/%d",
                 get_char_from_lisp_addr_t(requested_identifier.eid_prefix),
                 requested_identifier.eid_prefix_length);
         return (BAD);
     }

to which I added something like but I need more modifications since it
doesn't work yet.
            if(
handle_map_cache_miss(&requested_identifier.eid_prefix, remote_rloc)
!= GOOD){
                lispd_log_msg(LISP_LOG_DEBUG_1,"Could not retrieve EID: %s/%d",
                 get_char_from_lisp_addr_t(requested_identifier.eid_prefix),
                 requested_identifier.eid_prefix_length);
                return (BAD);
            }

Regards

MAtt

Reply via email to