diff --git a/sys/include/net/gnrc/ipv6/netif.h b/sys/include/net/gnrc/ipv6/netif.h index ac0e796b51496f80f1e29a0482cca596c34ec214..175ba9f0c9243b4ff140ffd96a9ab39e63b44b2c 100644 --- a/sys/include/net/gnrc/ipv6/netif.h +++ b/sys/include/net/gnrc/ipv6/netif.h @@ -41,12 +41,20 @@ extern "C" { * * @brief Number of IPv6 addresses per interface. */ -#ifndef GNRC_IPV6_NETIF_ADDR_NUMOF +#ifdef MODULE_GNRC_RPL +/* RPL needs all-RPL-nodes multicast address */ +# define RPL_ADDR (1) +#else +# define RPL_ADDR (0) +#endif #ifdef MODULE_GNRC_IPV6_ROUTER -#define GNRC_IPV6_NETIF_ADDR_NUMOF (7) /* router needs all-routers multicast address */ +/* routers need all-routers multicast address */ +# define RTR_ADDR (1) #else -#define GNRC_IPV6_NETIF_ADDR_NUMOF (6) +# define RTR_ADDR (0) #endif +#ifndef GNRC_IPV6_NETIF_ADDR_NUMOF +#define GNRC_IPV6_NETIF_ADDR_NUMOF (6 + RPL_ADDR + RTR_ADDR) #endif /**