-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RPL related issue list #2493
Comments
@BytesGalore great idea. |
@cgundogan I finally found the address confusion. See http://packetlife.net/blog/2008/aug/4/eui-64-ipv6/ |
This was also my first thought and I looked it up in [1]. But it states
According to the last sentence, the u/l bit should be zero? I think the rpl_udp example uses short addresses for 802.15.4 beacons, can you verify with wireshark? |
@cgundogan I was using Contiki as a root node for sending DIOs, it was using a 64 bit 802.15.4 source address (02:00:00:00:00:00:00:01) |
After modifying the EUI64 to IPv6 address translation to get RIOT to understand Contiki's compressed headers it now seems like Contiki is having some trouble translating RIOT's short addresses to EUI64. Contiki says: Contiki uses long addressing in most packets which may be the reason that I have not seen this problem before. |
Here is a packet capture of a Contiki RPL root ( The capture is taken from a RIOT built with PR #2497 and #2491 applied Noteworthy points:
Regarding the last point
Is this specific to the application (e.g. I have no idea where to start looking for this, is it a big task or a small task? Contiki uses MRHOF by default, but can be configured to use OF0 instead. I think it would be useful if RIOT also could work with both settings. |
Look at the capture in the cloud: https://www.cloudshark.org/captures/4b9b364dc2b8 |
Sorry about that last pcap, I found out I had an unclean build, the broken ICMP checksum is fixed now. Edit: Added a new cloud link: https://www.cloudshark.org/captures/f168849c67ed |
I traced the short address problem to sys/net/network_layer/sixlowpan/ip.c:126 The destination address is not found in the neighbour cache because the Contiki RPL root does not send any neighbour notices. if (next_hop == NULL) {
DEBUG("Trying to find the next hop for %s\n", ipv6_addr_to_str(addr_str, IPV6_MAX_ADDR_STR_LEN, &packet->destaddr));
if (ip_get_next_hop == NULL) {
return -1;
}
ipv6_addr_t *dest = ip_get_next_hop(&packet->destaddr);
if (dest == NULL) {
return -1;
}
nce = ndp_get_ll_address(dest);
if (nce == NULL
|| sixlowpan_lowpan_sendto(nce->if_id, &nce->lladdr,
nce->lladdr_len, (uint8_t *) packet, length) < 0) {
/* XXX: this is wrong, but until ND does work correctly,
* this is the only way (aka the old way)*/
uint16_t raddr = dest->uint16[7];
sixlowpan_lowpan_sendto(0, &raddr, 2, (uint8_t *) packet, <------------- Here
length);
/* return -1; */
}
} |
@gebart I just realized the following: |
@cgundogan I did not realize until #2508 but we need to go through the iphc encoding and EUI-64 generation to see where it goes wrong. I need to re-read the relevant RFCs to see how to do it correctly... |
@cgundogan I updated the checklist with your multiple DODAG implementation, could you complete the info if I missed anything? |
@gebart thanks for adding my PRs. I completely forgot about this issue list (: |
@BytesGalore @cgundogan Do you know what is needed to get MRHOF (OF1) working? |
@gebart I have no experience with our etx implementation, I am not aware of its state (does it run or not?). Maybe @Lotterleben can say more on this topic? |
@cgundogan @gebart Nope, sorry... |
I think one problem is that metric containers aren't implemented. @sarndt, can you provide any more details? |
The ETX metric had some problem with bugs in timers of RIOT when I implemented it. I don't know if those are still prevalent. Metric Containers should not be the problem, at least when I worked on RIOT, ETX was the default metric for RPL when there is no metric container. It's true though, that metric containers were not implemented, which meant that only the default metric could be used. |
The RPL headers need some Doxygen love, added to task list |
I updated the list to reflect what has been merged so far. |
This list was referring to the old RPL implementation which has been discarded. |
Here we can collect and discuss issues related to the RPL implementation
of1, mrhof
does not seem to work asetx_beaconing
is not initializedThe text was updated successfully, but these errors were encountered: