Merge pull request #9719 from miri64/gnrc_ipv6_nib/enh/emit-conf

gnrc_ipv6_nib: make automatic NDP packet emission (NS/RS) configurable
This commit is contained in:
Gaëtan Harter 2018-08-07 17:55:00 +02:00 committed by GitHub
commit a7241384be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 1 deletions

View File

@ -216,6 +216,15 @@ extern "C" {
#define GNRC_IPV6_NIB_CONF_REACH_TIME_RESET (7200000U)
#endif
/**
* @brief Disable router solicitations
*
* @warning Only do this if you know what you're doing
*/
#ifndef GNRC_IPV6_NIB_CONF_NO_RTR_SOL
#define GNRC_IPV6_NIB_CONF_NO_RTR_SOL (0)
#endif
/**
* @brief Maximum link-layer address length (aligned)
*/

View File

@ -24,9 +24,9 @@
#define ENABLE_DEBUG (0)
#include "debug.h"
#if GNRC_IPV6_NIB_CONF_6LN || GNRC_IPV6_NIB_CONF_SLAAC
static char addr_str[IPV6_ADDR_MAX_STR_LEN];
#if GNRC_IPV6_NIB_CONF_6LN || GNRC_IPV6_NIB_CONF_SLAAC
void _auto_configure_addr(gnrc_netif_t *netif, const ipv6_addr_t *pfx,
uint8_t pfx_len)
{

View File

@ -1227,6 +1227,7 @@ static void _handle_rtr_timeout(_nib_dr_entry_t *router)
void _handle_search_rtr(gnrc_netif_t *netif)
{
#if !GNRC_IPV6_NIB_CONF_NO_RTR_SOL
gnrc_netif_acquire(netif);
if (!(gnrc_netif_is_rtr_adv(netif)) || gnrc_netif_is_6ln(netif)) {
uint32_t next_rs = _evtimer_lookup(netif, GNRC_IPV6_NIB_SEARCH_RTR);
@ -1249,6 +1250,9 @@ void _handle_search_rtr(gnrc_netif_t *netif)
}
}
gnrc_netif_release(netif);
#else
(void)netif;
#endif /* !GNRC_IPV6_NIB_CONF_NO_RTR_SOL */
}
#if GNRC_IPV6_NIB_CONF_DNS

View File

@ -21,6 +21,10 @@ USEMODULE += netdev_ieee802154
USEMODULE += netdev_test
USEMODULE += od
# deactivate automatically emitted packets from IPv6 neighbor discovery
CFLAGS += -DGNRC_IPV6_NIB_CONF_ARSM=0
CFLAGS += -DGNRC_IPV6_NIB_CONF_SLAAC=0
CFLAGS += -DGNRC_IPV6_NIB_CONF_NO_RTR_SOL=1
CFLAGS += -DGNRC_NETIF_NUMOF=4
CFLAGS += -DGNRC_NETIF_ADDRS_NUMOF=16
CFLAGS += -DGNRC_NETIF_GROUPS_NUMOF=8