-
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
Long addresses are transferred in reverse order. #2521
Comments
@BytesGalore did you also encounter this behavior? |
@cgundogan I only used short addresses, due to always running into "the old way" of transmitting a packet. |
|
@cgundogan @jfischer-phytec-iot unfortunately I cannot test/reproduce neither using (forcing) long address usage :( But still the proposition seems to be valid as we take the RPL parent address directly form a provided DIO [1] and do not convert the byteorder [2] when assigning the address of this parent. For instance sending (trying to send) a packet to: [1] https://github.com/RIOT-OS/RIOT/blob/master/sys/net/routing/rpl/rpl_control_messages.c#L685 |
"Fields that are longer than a single octet are sent to the PHY in the order from the octet containing the lowest numbered bits to the octet containing the highest numbered bits." <- (IEEE Std 802.15.4TM‐2011" |
@jfischer-phytec-iot What is described there is little-endian, i.e. not Network Byte Order (Big endian) |
Currently I'm not sure where it goes wrong. The target is the link layer addresse from the neighbor cache and it is always an array of uint8_t. @authmillenon Do you have any idea? |
No, not without digging myself :/ |
the byte swap at https://github.com/RIOT-OS/RIOT/blob/master/sys/net/link_layer/net_if/net_if.c#L379 seem out of place, but I have not done any tests or debugging... |
@gebart I also thought so, but then type casting to (net_if_eui64_t *) is also not right. |
Which radio are you using when seeing? I plan on testing this on an at86rf212b during the weekend. |
I have noticed the same issue as you describe here using the at86rf212b. |
That was related to the old network stack only, right? Can we close then? |
@jfischer-phytec-iot is this still relevant? I'm asking since the gnrc stack is armed, so any objections to close this issue from your side? |
@jfischer-phytec-iot ping |
I take this as a no. ;) |
Linux <-> RIOT works just fine if I use at86rf212b :) |
During my adventure "Communication between RIOT and Linux host," I have discovered that the long addresses are transferred in reverse order.
If I replace it like:
(see https://github.com/RIOT-OS/RIOT/blob/master/sys/net/link_layer/net_if/net_if.c#L379)
then the addresse will be transmitted correctly.
In which order are the addresses in net_if_eui64_t?
The text was updated successfully, but these errors were encountered: