Skip to content
Snippets Groups Projects
Commit 35b1a30b authored by Martine Lenders's avatar Martine Lenders
Browse files

Merge pull request #3907 from OlegHahm/6lbr_rtr_adv_fixes

6lbr: initialize router advertisement intervals
parents c842d4f6 effe7bbd
No related branches found
No related tags found
No related merge requests found
...@@ -90,6 +90,7 @@ static void _send_rtr_adv(gnrc_ipv6_netif_t *iface, ipv6_addr_t *dst) ...@@ -90,6 +90,7 @@ static void _send_rtr_adv(gnrc_ipv6_netif_t *iface, ipv6_addr_t *dst)
mutex_lock(&iface->mutex); mutex_lock(&iface->mutex);
fin = (iface->adv_ltime == 0); fin = (iface->adv_ltime == 0);
assert((iface->min_adv_int != 0) && (iface->max_adv_int != 0));
interval = genrand_uint32_range(iface->min_adv_int, iface->max_adv_int); interval = genrand_uint32_range(iface->min_adv_int, iface->max_adv_int);
if (!fin && !((iface->flags | GNRC_IPV6_NETIF_FLAGS_ROUTER) && if (!fin && !((iface->flags | GNRC_IPV6_NETIF_FLAGS_ROUTER) &&
(iface->flags | GNRC_IPV6_NETIF_FLAGS_RTR_ADV))) { (iface->flags | GNRC_IPV6_NETIF_FLAGS_RTR_ADV))) {
......
...@@ -112,8 +112,15 @@ void gnrc_sixlowpan_nd_router_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable) ...@@ -112,8 +112,15 @@ void gnrc_sixlowpan_nd_router_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable)
if (enable && (gnrc_ipv6_netif_add_addr(netif->pid, &all_routers, 128, if (enable && (gnrc_ipv6_netif_add_addr(netif->pid, &all_routers, 128,
GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST) != NULL)) { GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST) != NULL)) {
mutex_lock(&netif->mutex);
netif->flags |= GNRC_IPV6_NETIF_FLAGS_RTR_ADV; netif->flags |= GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
netif->adv_ltime = GNRC_IPV6_NETIF_DEFAULT_ROUTER_LTIME; netif->adv_ltime = GNRC_IPV6_NETIF_DEFAULT_ROUTER_LTIME;
#ifdef MODULE_GNRC_NDP_ROUTER
/* for border router these values have to be initialized, too */
netif->max_adv_int = GNRC_IPV6_NETIF_DEFAULT_MAX_ADV_INT;
netif->min_adv_int = GNRC_IPV6_NETIF_DEFAULT_MIN_ADV_INT;
#endif
mutex_unlock(&netif->mutex);
} }
else { else {
netif->flags &= ~GNRC_IPV6_NETIF_FLAGS_RTR_ADV; netif->flags &= ~GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment