1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 06:23:53 +01:00

sixlowpan nd: move set_rtr_adv function to router

This commit is contained in:
Oleg Hahm 2015-09-17 02:08:52 +02:00
parent b28dd897f2
commit a1158092a4
2 changed files with 15 additions and 16 deletions

View File

@ -56,22 +56,6 @@ void gnrc_sixlowpan_nd_init(gnrc_ipv6_netif_t *iface)
gnrc_ndp_internal_send_rtr_sol(iface->pid, NULL);
}
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,
GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST) != NULL)) {
netif->flags |= GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
netif->adv_ltime = GNRC_IPV6_NETIF_DEFAULT_ROUTER_LTIME;
}
else {
netif->flags &= ~GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
gnrc_ipv6_netif_remove_addr(netif->pid, &all_routers);
}
}
void gnrc_sixlowpan_nd_mc_rtr_sol(gnrc_ipv6_netif_t *iface)
{
uint32_t interval;

View File

@ -106,6 +106,21 @@ static inline bool _is_me(ipv6_addr_t *addr)
#define _is_me(ignore) (false)
#endif
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,
GNRC_IPV6_NETIF_ADDR_FLAGS_NON_UNICAST) != NULL)) {
netif->flags |= GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
netif->adv_ltime = GNRC_IPV6_NETIF_DEFAULT_ROUTER_LTIME;
}
else {
netif->flags &= ~GNRC_IPV6_NETIF_FLAGS_RTR_ADV;
gnrc_ipv6_netif_remove_addr(netif->pid, &all_routers);
}
}
gnrc_sixlowpan_nd_router_abr_t *gnrc_sixlowpan_nd_router_abr_get(void)
{
if (ipv6_addr_is_unspecified(&_abrs[0].addr)) {