diff --git a/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c b/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c index e927b21a448a7f8622e12a61caf9ad903fe93cf2..e54e0b255dd0ec94b503c2f771ca787e329a5a43 100644 --- a/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c +++ b/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c @@ -108,6 +108,9 @@ static ipv6_addr_t *_add_addr_to_entry(gnrc_ipv6_netif_t *entry, const ipv6_addr #ifdef MODULE_GNRC_SIXLOWPAN_ND_BORDER_ROUTER tmp_addr->valid = 0xFFFF; gnrc_sixlowpan_nd_router_abr_t *abr = gnrc_sixlowpan_nd_router_abr_get(); + mutex_unlock(&entry->mutex); + gnrc_ipv6_netif_set_rtr_adv(entry, true); + mutex_lock(&entry->mutex); if (gnrc_sixlowpan_nd_router_abr_add_prf(abr, entry, tmp_addr) < 0) { DEBUG("ipv6_netif: error adding prefix to 6LoWPAN-ND management\n"); } @@ -870,7 +873,9 @@ void gnrc_ipv6_netif_init_by_dev(void) /* first interface wins */ if (!abr_init) { gnrc_sixlowpan_nd_router_abr_create(&addr, 0); - gnrc_ipv6_netif_set_rtr_adv(ipv6_if, true); + /* XXX should be set to true if there ever is an hard-coded + * prefix set */ + gnrc_ipv6_netif_set_rtr_adv(ipv6_if, false); abr_init = true; } #endif