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 e54e0b255d..aa07f2b213 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 @@ -200,7 +200,6 @@ void gnrc_ipv6_netif_add(kernel_pid_t pid) /* Otherwise, fill the free entry */ - ipv6_addr_t addr = IPV6_ADDR_ALL_NODES_LINK_LOCAL; mutex_lock(&free_entry->mutex); DEBUG("ipv6 netif: Add IPv6 interface %" PRIkernel_pid " (i = %d)\n", pid, @@ -210,7 +209,8 @@ void gnrc_ipv6_netif_add(kernel_pid_t pid) free_entry->cur_hl = GNRC_IPV6_NETIF_DEFAULT_HL; free_entry->flags = 0; - _add_addr_to_entry(free_entry, &addr, IPV6_ADDR_BIT_LEN, 0); + _add_addr_to_entry(free_entry, &ipv6_addr_all_nodes_link_local, + IPV6_ADDR_BIT_LEN, 0); mutex_unlock(&free_entry->mutex); diff --git a/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c b/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c index f2f96f3145..3127a5e283 100644 --- a/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c +++ b/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c @@ -307,11 +307,12 @@ void gnrc_ndp_internal_send_nbr_sol(kernel_pid_t iface, ipv6_addr_t *src, ipv6_a void gnrc_ndp_internal_send_rtr_sol(kernel_pid_t iface, ipv6_addr_t *dst) { gnrc_pktsnip_t *hdr, *pkt = NULL; - ipv6_addr_t *src = NULL, all_routers = IPV6_ADDR_ALL_ROUTERS_LINK_LOCAL; + ipv6_addr_t *src = NULL; DEBUG("ndp internal: send router solicitation (iface: %" PRIkernel_pid ", dst: ff02::2)\n", iface); if (dst == NULL) { - dst = &all_routers; + /* isn't changed afterwards so discarding const should be alright */ + dst = (ipv6_addr_t *)&ipv6_addr_all_routers_link_local; } /* check if there is a fitting source address to target */ if ((src = gnrc_ipv6_netif_find_best_src_addr(iface, dst)) != NULL) { @@ -422,14 +423,14 @@ void gnrc_ndp_internal_send_rtr_adv(kernel_pid_t iface, ipv6_addr_t *src, ipv6_a bool fin) { gnrc_pktsnip_t *hdr = NULL, *pkt = NULL; - ipv6_addr_t all_nodes = IPV6_ADDR_ALL_NODES_LINK_LOCAL; gnrc_ipv6_netif_t *ipv6_iface = gnrc_ipv6_netif_get(iface); uint32_t reach_time = 0, retrans_timer = 0; uint16_t adv_ltime = 0; uint8_t cur_hl = 0; if (dst == NULL) { - dst = &all_nodes; + /* isn't changed afterwards so discarding const should be fine */ + dst = (ipv6_addr_t *)&ipv6_addr_all_nodes_link_local; } DEBUG("ndp internal: send router advertisement (iface: %" PRIkernel_pid ", dst: %s%s\n", iface, ipv6_addr_to_str(addr_str, dst, sizeof(addr_str)), fin ? ", final" : ""); diff --git a/sys/net/gnrc/network_layer/ndp/router/gnrc_ndp_router.c b/sys/net/gnrc/network_layer/ndp/router/gnrc_ndp_router.c index d38766af67..ae0ecb39c9 100644 --- a/sys/net/gnrc/network_layer/ndp/router/gnrc_ndp_router.c +++ b/sys/net/gnrc/network_layer/ndp/router/gnrc_ndp_router.c @@ -27,10 +27,9 @@ static void _send_rtr_adv(gnrc_ipv6_netif_t *iface, ipv6_addr_t *dst); void gnrc_ndp_router_set_router(gnrc_ipv6_netif_t *iface, bool enable) { - ipv6_addr_t all_routers = IPV6_ADDR_ALL_ROUTERS_LINK_LOCAL; if (enable && !(iface->flags & GNRC_IPV6_NETIF_FLAGS_ROUTER)) { - gnrc_ipv6_netif_add_addr(iface->pid, &all_routers, 128, - GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST); + gnrc_ipv6_netif_add_addr(iface->pid, &ipv6_addr_all_routers_link_local, + 128, GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST); mutex_lock(&iface->mutex); iface->flags |= GNRC_IPV6_NETIF_FLAGS_ROUTER; iface->max_adv_int = GNRC_IPV6_NETIF_DEFAULT_MAX_ADV_INT; @@ -40,7 +39,7 @@ void gnrc_ndp_router_set_router(gnrc_ipv6_netif_t *iface, bool enable) gnrc_ndp_router_set_rtr_adv(iface, enable); } else if (!enable && (iface->flags & GNRC_IPV6_NETIF_FLAGS_ROUTER)) { - gnrc_ipv6_netif_remove_addr(iface->pid, &all_routers); + gnrc_ipv6_netif_remove_addr(iface->pid, (ipv6_addr_t *)&ipv6_addr_all_routers_link_local); gnrc_ndp_router_set_rtr_adv(iface, enable); } } diff --git a/sys/net/gnrc/network_layer/sixlowpan/nd/router/gnrc_sixlowpan_nd_router.c b/sys/net/gnrc/network_layer/sixlowpan/nd/router/gnrc_sixlowpan_nd_router.c index 684ad4c98b..69d6ec47d5 100644 --- a/sys/net/gnrc/network_layer/sixlowpan/nd/router/gnrc_sixlowpan_nd_router.c +++ b/sys/net/gnrc/network_layer/sixlowpan/nd/router/gnrc_sixlowpan_nd_router.c @@ -112,9 +112,7 @@ static inline bool _is_me(ipv6_addr_t *addr) void gnrc_sixlowpan_nd_router_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable) { - ipv6_addr_t all_routers = IPV6_ADDR_ALL_ROUTERS_LINK_LOCAL; - - if (enable && (gnrc_ipv6_netif_add_addr(netif->pid, &all_routers, 128, + if (enable && (gnrc_ipv6_netif_add_addr(netif->pid, &ipv6_addr_all_routers_link_local, 128, GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST) != NULL)) { mutex_lock(&netif->mutex); netif->flags |= GNRC_IPV6_NETIF_FLAGS_RTR_ADV; @@ -128,7 +126,7 @@ void gnrc_sixlowpan_nd_router_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable) } else { netif->flags &= ~GNRC_IPV6_NETIF_FLAGS_RTR_ADV; - gnrc_ipv6_netif_remove_addr(netif->pid, &all_routers); + gnrc_ipv6_netif_remove_addr(netif->pid, (ipv6_addr_t *)&ipv6_addr_all_routers_link_local); } }