mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2025-12-24 22:13:52 +01:00
Merge pull request #3813 from OlegHahm/sixlowpan_nd_router_deps
gnrc: 6lowpan-nd: some broken router dependencies
This commit is contained in:
commit
e7bbbf080b
@ -73,7 +73,7 @@ ifneq (,$(filter gnrc_sixlowpan_border_router_default,$(USEMODULE)))
|
||||
endif
|
||||
|
||||
ifneq (,$(filter gnrc_sixlowpan_router,$(USEMODULE)))
|
||||
USEMODULE += gnrc_sixlowpan
|
||||
USEMODULE += gnrc_sixlowpan_nd_router
|
||||
endif
|
||||
|
||||
ifneq (,$(filter gnrc_sixlowpan_frag,$(USEMODULE)))
|
||||
|
||||
@ -304,6 +304,8 @@ typedef struct {
|
||||
*/
|
||||
uint16_t min_adv_int;
|
||||
|
||||
#endif
|
||||
#if defined (MODULE_GNRC_NDP_ROUTER) || defined (MODULE_GNRC_SIXLOWPAN_ND_ROUTER)
|
||||
/**
|
||||
* @brief The router lifetime to propagate in router advertisements.
|
||||
* Must be either 0 or between ng_ipv6_netif_t::max_adv_int and
|
||||
@ -336,7 +338,7 @@ typedef struct {
|
||||
*/
|
||||
timex_t retrans_timer;
|
||||
vtimer_t rtr_sol_timer; /**< Timer for periodic router solicitations */
|
||||
#ifdef MODULE_GNRC_NDP_ROUTER
|
||||
#if defined (MODULE_GNRC_NDP_ROUTER) || defined (MODULE_GNRC_SIXLOWPAN_ND_ROUTER)
|
||||
vtimer_t rtr_adv_timer; /**< Timer for periodic router advertisements */
|
||||
#endif
|
||||
} gnrc_ipv6_netif_t;
|
||||
|
||||
@ -244,13 +244,15 @@ gnrc_ipv6_netif_t *gnrc_ipv6_netif_get(kernel_pid_t pid)
|
||||
#if defined(MODULE_GNRC_NDP_ROUTER) || defined(MODULE_GNRC_SIXLOWPAN_ND_ROUTER)
|
||||
void gnrc_ipv6_netif_set_router(gnrc_ipv6_netif_t *netif, bool enable)
|
||||
{
|
||||
#if defined(MODULE_GNRC_SIXLOWPAN_ND_ROUTER)
|
||||
#ifdef MODULE_GNRC_SIXLOWPAN_ND_ROUTER
|
||||
if (netif->flags & GNRC_IPV6_NETIF_FLAGS_SIXLOWPAN) {
|
||||
gnrc_sixlowpan_nd_router_set_router(netif, enable);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef MODULE_GNRC_NDP_ROUTER
|
||||
gnrc_ndp_router_set_router(netif, enable);
|
||||
#endif
|
||||
}
|
||||
|
||||
void gnrc_ipv6_netif_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable)
|
||||
@ -261,7 +263,9 @@ void gnrc_ipv6_netif_set_rtr_adv(gnrc_ipv6_netif_t *netif, bool enable)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef MODULE_GNRC_NDP_ROUTER
|
||||
gnrc_ndp_router_set_rtr_adv(netif, enable);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -789,6 +793,16 @@ void gnrc_ipv6_netif_init_by_dev(void)
|
||||
|
||||
DEBUG("ipv6 netif: Set 6LoWPAN flag\n");
|
||||
ipv6_ifs[i].flags |= GNRC_IPV6_NETIF_FLAGS_SIXLOWPAN;
|
||||
|
||||
/* the router flag must be set early here, because otherwise
|
||||
* _add_addr_to_entry() wouldn't set the solicited node address.
|
||||
* However, addresses have to be configured before calling
|
||||
* gnrc_ipv6_netif_set_router().
|
||||
*/
|
||||
#ifdef MODULE_GNRC_SIXLOWPAN_ND_ROUTER
|
||||
DEBUG("ipv6 netif: Set router flag\n");
|
||||
ipv6_ifs[i].flags |= GNRC_IPV6_NETIF_FLAGS_ROUTER;
|
||||
#endif
|
||||
/* use EUI-64 (8-byte address) for IID generation and for sending
|
||||
* packets */
|
||||
gnrc_netapi_set(ifs[i], NETOPT_SRC_LEN, 0, &src_len,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user