I think that the solution I have proposed will work for IPv4 but not for IPv6. Anyway If you could tell us if it works for IPv4 it will be great.

Thanks

Albert

On 03/25/2014 12:20 PM, Albert López wrote:
Hi Martin,

Could you try to replace IFA_ADDRESS by IFA_LOCAL in the file lispd_iface_mgmt.c (I think that is just two lines) ? We couldn't test it but according to netlink documentation it should work. Let us know the result in order to add the fix to github.

Regards

Albert

On 03/24/2014 07:07 PM, Martin Grabner wrote:
Hello,

It seems to work with ny quick and dirty fix by adding this code to "is_link_local_address" to lisps_lib.c

inet_pton(AF_INET,"10.64.64.64",&(ipv4_network));
inet_pton(AF_INET,"255.255.255.255",&(mask));
if ((addr.address.ip.s_addr & mask) == ipv4_network){
is_link_local = TRUE;
}

Maybe you can option in config file to ignore RFC1918 IPs?

Regards

Martin

*Gesendet:* Donnerstag, 20. März 2014 um 14:54 Uhr
*Von:* "Albert López" <[email protected]>
*An:* "Martin Grabner" <[email protected]>, [email protected]
*Betreff:* Re: [LISPmob-users] LISPmob and 3G stick reconnect issue
Hi Martin,

We have never found this problem. We will try to reproduce it and fix it. Thanks for your fed back.

Regards

Albert L.

On 03/19/2014 10:17 PM, Martin Grabner wrote:

    Hi,
    I’ve a problem with LISPmob on OpenWRT, that occurs when the 3G
    Stick is reconnecting. After reconnect LISPmob uses 10.64.64.64
    (actually the default Gateway of this connection) as new RLOC and
    also pushes that information to the Map Servers of the beta
    network. I used the default web interface of OpenWRT 12.09 to
    configuring the 3G connection.  A restart of LISPmob is the only
    way to fix it. Here are some informations and a log snippet:
    ifconfig (before reconnect):
    3g-drei    Link encap:Point-to-Point Protocol
              inet addr:178.113.1.33  P-t-P:10.64.64.64
     Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
    ifconfig (after reconnect):
    3g-drei   Link encap:Point-to-Point Protocol
              inet addr:178.113.103.101  P-t-P:10.64.64.64
     Mask:255.255.255.255
              UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
    route:
    Kernel IP routing table
    Destination     Gateway         Genmask Flags Metric Ref    Use Iface
default 10.64.64.64 0.0.0.0 UG 10 0 0 3g-drei 10.64.64.64 * 255.255.255.255 UH 0 0 0 3g-drei
    snippet from Debug-2 log after forcing reconnect via OpenWRT web
    interface:
    DEBUG-2: =>process_netlink_msg: Received  link message
    DEBUG-2: process_nl_new_link: The new index of the interface
    3g-drei is: 72. Updating tables
    DEBUG: del_rule: Removed rule in ip rule table for source routing
    of src prefix: 178.113.1.33/32
    DEBUG: add_rule: Added rule in ip rule table for source routing
    of src prefix: 178.113.1.33/32
    DEBUG-2: open_device_binded_raw_socket: open socket 6 in
    interface 3g-drei with afi: 2
    WARNING: bind_socket_src_address: Cannot assign requested address
    DEBUG: process_nl_new_link: Interface 3g-drei changes its status
    to DOWN
    DEBUG-2: process_link_status_change: The detected change of
    status doesn't affect
    DEBUG-2: =>process_netlink_msg: Received  link message
    DEBUG: process_nl_new_link: Interface 3g-drei changes its status
    to DOWN
    DEBUG-2: process_link_status_change: The detected change of
    status doesn't affect
    DEBUG-2: Finish pocessing netlink message
    DEBUG-2: =>process_netlink_msg: Received  new address message
    DEBUG: del_rule: Removed rule in ip rule table for source routing
    of src prefix: 178.113.1.33/32
    DEBUG: add_rule: Added rule in ip rule table for source routing
    of src prefix: 178.113.103.101/32   <— The real new IP/RLOC
    DEBUG: precess_address_change: New address detected for interface
    3g-drei -> 178.113.103.101 <— The real new IP/RLOC
    DEBUG-2: =>process_netlink_msg: Received  new route message
    DEBUG-2: =>process_netlink_msg: Received  del address message <— Why?
    DEBUG-2:    deleted address: 178.113.103.101 <— The real new IP/RLOC
    DEBUG-2: =>process_netlink_msg: Received  new address message
    DEBUG: del_rule: Removed rule in ip rule table for source routing
    of src prefix: 178.113.103.101/32
    DEBUG: add_rule: Added rule in ip rule table for source routing
    of src prefix: 10.64.64.64/32 <— Problem
    WARNING: bind_socket_src_address: Cannot assign requested address
    DEBUG: precess_address_change: New address detected for interface
    3g-drei -> 10.64.64.64 <— Problem
    DEBUG-2: =>process_netlink_msg: Received  new route message
    DEBUG-2: =>process_netlink_msg: Received  link message
    DEBUG: process_nl_new_link: Interface 3g-drei changes its status
    to UP
    DEBUG-2: Default control interface down. Recalculate new control
    interface
    DEBUG-2: Default IPv4 control iface 3g-drei: 10.64.64.64 <— Problem
    What can I do that LISPmob doesn’t use the wrong IP as RLOC?
    Regards
    Martin







Reply via email to