From 235661668de3a08dc2299af4b5edca518fa4677d Mon Sep 17 00:00:00 2001 From: Martine Lenders <m.lenders@fu-berlin.de> Date: Mon, 10 Sep 2018 17:07:59 +0200 Subject: [PATCH] gnrc_ipv6_nib: always configure 802.15.4 long address Our `gnrc_minimal` example configures the link-local address from the IEEE 802.15.4 short address since it does not include 6Lo-ND. This causes the application to be incompatible with our other GNRC application that do include 6Lo-ND, since it [assumes][1] the link-local address to be based on the EUI-64 for address resolution. This enforces long addresses (aka EUI-64) for all IEEE 802.15.4 devices when IPv6 is compiled in so `gnrc_minimal` is compatible again to the rest. Fixes #9910 [1]: https://tools.ietf.org/html/rfc6775#section-5.2 --- sys/net/gnrc/network_layer/ipv6/nib/nib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/gnrc/network_layer/ipv6/nib/nib.c b/sys/net/gnrc/network_layer/ipv6/nib/nib.c index 36d0e62015..0ae1915821 100644 --- a/sys/net/gnrc/network_layer/ipv6/nib/nib.c +++ b/sys/net/gnrc/network_layer/ipv6/nib/nib.c @@ -112,6 +112,7 @@ void gnrc_ipv6_nib_init_iface(gnrc_netif_t *netif) _init_iface_router(netif); #if GNRC_IPV6_NIB_CONF_6LN netif->ipv6.rs_sent = 0; +#endif /* GNRC_IPV6_NIB_CONF_6LN */ if (netif->device_type == NETDEV_TYPE_IEEE802154) { /* see https://tools.ietf.org/html/rfc6775#section-5.2 */ uint16_t src_len = IEEE802154_LONG_ADDRESS_LEN; @@ -123,7 +124,6 @@ void gnrc_ipv6_nib_init_iface(gnrc_netif_t *netif) * directly everything else would deadlock anyway */ netif->ops->set(netif, &opt); } -#endif /* GNRC_IPV6_NIB_CONF_6LN */ netif->ipv6.na_sent = 0; if (gnrc_netif_ipv6_group_join_internal(netif, &ipv6_addr_all_nodes_link_local) < 0) { -- GitLab