From c6833704dccabba1a2c08413fc01950ee440ef7b Mon Sep 17 00:00:00 2001 From: Martine Lenders <m.lenders@fu-berlin.de> Date: Fri, 5 Jan 2018 10:04:13 +0100 Subject: [PATCH] gnrc_netif: add nrfmin IID support Adds a `nrfmin` case to IID generation, so an IID can be generated from a `nrfmin` device's (short) address (the long address is just 4-time repetition of the short address). --- sys/net/gnrc/netif/gnrc_netif.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/net/gnrc/netif/gnrc_netif.c b/sys/net/gnrc/netif/gnrc_netif.c index 847d711806..3cef54a4ad 100644 --- a/sys/net/gnrc/netif/gnrc_netif.c +++ b/sys/net/gnrc/netif/gnrc_netif.c @@ -775,7 +775,8 @@ int gnrc_netif_ipv6_group_idx(gnrc_netif_t *netif, const ipv6_addr_t *addr) return idx; } -#if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_CC110X) +#if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_CC110X) || \ + defined(MODULE_NRFMIN) static void _create_iid_from_short(const gnrc_netif_t *netif, eui64_t *eui64) { const unsigned offset = sizeof(eui64_t) - netif->l2addr_len; @@ -786,7 +787,8 @@ static void _create_iid_from_short(const gnrc_netif_t *netif, eui64_t *eui64) eui64->uint8[4] = 0xfe; memcpy(&eui64->uint8[offset], netif->l2addr, netif->l2addr_len); } -#endif /* define(MODULE_NETDEV_IEEE802154) || defined(MODULE_CC110X) */ +#endif /* defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_CC110X) || + * defined(MODULE_NRFMIN) */ int gnrc_netif_ipv6_get_iid(gnrc_netif_t *netif, eui64_t *eui64) { @@ -823,8 +825,9 @@ int gnrc_netif_ipv6_get_iid(gnrc_netif_t *netif, eui64_t *eui64) } break; #endif -#ifdef MODULE_CC110X +#if defined(MODULE_CC110X) || defined(MODULE_NRFMIN) case NETDEV_TYPE_CC110X: + case NETDEV_TYPE_NRFMIN: _create_iid_from_short(netif, eui64); return 0; #endif -- GitLab