1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/net
Martine S. Lenders 4fc0251b4b
gnrc_ipv6_nib: only route to prefix list entry if on-link
In 06aa65e1ba (#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
2020-03-25 13:13:40 +01:00
..
application_layer nanocoap: make separate tree handling function 2020-03-23 15:08:53 +01:00
ble ble/skald: remove broken assert in init() 2019-09-26 22:07:23 +02:00
credman sys/net: add credman (D)TLS credential manager 2019-07-19 13:56:21 +02:00
crosslayer netopt: add NETOPTs required for gnrc_lorawan 2019-11-26 21:52:05 +01:00
gnrc gnrc_ipv6_nib: only route to prefix list entry if on-link 2020-03-25 13:13:40 +01:00
link_layer net/l2util: fix addr conversion for BLE 2019-08-28 16:48:41 +02:00
netdev_test sys/net: iolist updates 2018-03-06 14:00:32 +01:00
netif netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
network_layer sys/net: fix typos 2019-11-23 22:39:38 +01:00
routing net: Remove NHDP module 2020-02-18 13:20:05 +01:00
sock sock_async_event: update for async callback argument support 2020-03-11 16:54:12 +01:00
transport_layer sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
doc.txt
Kconfig Kconfig: Expose Gcoap configurations 2020-01-28 11:59:52 +01:00