tlagos1 / LoRA_IPv6_implementation

GNU General Public License v3.0
14 stars 10 forks source link

All RAs discarded by project_ipv6.c, never reaches mote. #2

Closed JesusSanchez456 closed 6 years ago

JesusSanchez456 commented 7 years ago

Hello Tomas,

I'm having problems making this project work with my actual setup.

The mote successfully sends the Router Solicitation (RS) and the gateway (GW) successfully receives it and sends it over IPv6, but since all the Router Advertisement (RA) the GW receives through its eth interface use the IPv6 dst address FF02::1, when in project_ipv6.c send_package() checks the address

(line 495 in project_ipv6.c)

            if(memcmp(aux->IPv6_link_local.addr, IPv6_data->IPv6_dst.addr, 16) == 0 || memcmp(aux->IPv6_global.addr, IPv6_data->IPv6_dst.addr, 16) == 0)

Since this line never checks as true, all the received RAs are discarded by send_package().

I've been trying to configure radvd to use the mote address as target instead of FF02::1 so that line checks true and it keeps working, but I could not find the right configuration.

Does project_ipv6.c work out of the box or do I need to do some tuning?

Best Regards, -Jesus

tlagos1 commented 7 years ago

Jesus

The configuration that has project_ipv6 is the following:

           <------------    AAAA::   ------------>
----------- LoRa ------------- -------------------------- BBBB:: nodes <--------> Gateway <------------> Router OpenWRT <-----------> Outside

Where Lora Gateway works as a proxy doing ICMPv6 communication between the Lora nodes and the router with SCHC as shown in the draft https://tools.ietf.org/html/draft-lagos-lpwan-icmpv6-static-context-hc-00

Check line 848 net_fd = init_socket(); and https://github.com/tlagos1/LoRA_IPv6_implementation/blob/master/LoRaGateway/libstack_ipv6/src/tun_tap/tun_tap.c#L51

If you only want to work with the nodes and the gateway, replace the init_socket() function with the init_tun() function and adapt it with the rx and tx functions of project_ipv6 https://github.com/tlagos1/LoRA_IPv6_implementation/blob/master/LoRaGateway/libstack_ipv6/src/tun_tap/tun_tap.c#L99

regards

2017-09-07 6:39 GMT-03:00 JesusSanchez456 notifications@github.com:

Hello Tomas,

I'm having problems making this project work with my actual setup.

The mote successfully sends the RS and the GW successfully receives it and sends it over IPv6, but since all the RAs the GW receives through its eth interface use the IPv6 dst address FF02::1, when in project_ipv6.c send_package() checks the address

(line 495 in project_ipv6.c)

        if(memcmp(aux->IPv6_link_local.addr, IPv6_data->IPv6_dst.addr, 16) == 0 || memcmp(aux->IPv6_global.addr, IPv6_data->IPv6_dst.addr, 16) == 0)

Since this line never checks as true, all the received RAs are discarded by send_package().

I've been trying to configure radvd to use the mote address as target instead of FF02::1 so that line checks true and it keeps working, but I could not find the right configuration.

Does project_ipv6.c work out of the box or do I need to do some tuning?

Best Regards, -Jesus

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tlagos1/LoRA_IPv6_implementation/issues/2, or mute the thread https://github.com/notifications/unsubscribe-auth/ASYEDdeQk3gyM5kWGQeiHLIGKkvzlv3Oks5sf7ncgaJpZM4PPja9 .

JesusSanchez456 commented 7 years ago

Thanks a lot. Your IETF draft will surely help. I'm on it.

Best Regards -Jesus