Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gnrc_ipv6_nib: only route to prefix list entry if on-link
In 06aa65e (RIOT-OS#10627) a new behavior was introduced in IPv6 route resolution to try address resolution only at interfaces that have the prefix of the address to be resolved configured in the prefix list. This however only makes sense, if the prefix configured is [on-link], otherwise there is small likelihood of the address to be resolved being on that link. For the error case presented for 06aa65e (circular routing at the border router) this made sense, however within a 6LoWPAN, due to the prefix being valid for the entire mesh, this leads to the nodes always trying classic address resolution for in-network addresses instead of just routing to the default route. Classic address resolution however fails, as 6LoWPAN hosts typically [don't join the solicited-node multicast address of their unicast addresses][6LN-iface-init], resulting in in-network addresses not being reachable. As such, to prevent both error cases - the fallback to address resolution by prefix list must only be used when the prefix is on-link, - the prefix configured by DHCPv6/UHCP at the 6LoWPAN border router must be configured as on-link, but - the prefix must not be advertised as on-link within the 6LoWPAN to still be [in line with RFC 6775][RFC-6775-forbidden] With this change these cases are covered. [on-link]: https://tools.ietf.org/html/rfc4861#page-6 [RFC 6775]: https://tools.ietf.org/html/rfc6775 [6LN-iface-init]: https://tools.ietf.org/html/rfc6775#section-5.2 [RFC-6775-forbidden]: https://tools.ietf.org/html/rfc6775#section-6.1
- Loading branch information