Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gnrc_ipv6_nib: make configurable via Kconfig again [backport 2022.07] #18362

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion sys/include/net/gnrc/ipv6/nib/conf.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,9 @@ extern "C" {
*/
#ifndef CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
#if CONFIG_GNRC_IPV6_NIB_ROUTER && \
(!CONFIG_GNRC_IPV6_NIB_6LR || CONFIG_GNRC_IPV6_NIB_6LBR)
(!CONFIG_GNRC_IPV6_NIB_6LR || CONFIG_GNRC_IPV6_NIB_6LBR) && \
!(IS_USED(MODULE_GNRC_DHCPV6_CLIENT_IA_PD) || IS_USED(MODULE_GNRC_UHCPC) || \
IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS))
#define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 1
#else
#define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 0
Expand All @@ -149,8 +151,12 @@ extern "C" {
* Requires the `gnrc_ipv6_nib_rio` module.
*/
#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
#if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
#define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
#else
#define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
#endif
#endif

/**
* @brief (de-)activate NDP address resolution state-machine
Expand Down
4 changes: 0 additions & 4 deletions sys/net/gnrc/Makefile.dep
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,13 @@ endif
ifneq (,$(filter gnrc_dhcpv6_client_simple_pd,$(USEMODULE)))
USEMODULE += gnrc_dhcpv6_client
USEMODULE += dhcpv6_client_ia_pd
CFLAGS += -DCONFIG_GNRC_IPV6_NIB_ADV_ROUTER=0
endif

ifneq (,$(filter gnrc_uhcpc,$(USEMODULE)))
DEFAULT_MODULE += auto_init_gnrc_uhcpc
USEMODULE += uhcpc
USEMODULE += gnrc_sock_udp
USEMODULE += fmt
CFLAGS += -DCONFIG_GNRC_IPV6_NIB_ADV_ROUTER=0
endif

ifneq (,$(filter gnrc_%,$(filter-out gnrc_lorawan gnrc_netapi gnrc_netreg gnrc_netif% gnrc_pkt%,$(USEMODULE))))
Expand Down Expand Up @@ -130,8 +128,6 @@ endif

ifneq (,$(filter gnrc_ipv6_auto_subnets,$(USEMODULE)))
USEMODULE += gnrc_ipv6_nib_rtr_adv_pio_cb
CFLAGS += -DCONFIG_GNRC_IPV6_NIB_ADV_ROUTER=0
CFLAGS += -DCONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA=1
USEMODULE += xtimer
ifeq (,$(filter gnrc_ipv6_auto_subnets_simple,$(USEMODULE)))
DEFAULT_MODULE += gnrc_ipv6_auto_subnets_auto_init
Expand Down
15 changes: 15 additions & 0 deletions sys/net/gnrc/network_layer/ipv6/nib/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,23 @@ config GNRC_IPV6_NIB_DNS

config GNRC_IPV6_NIB_ADV_ROUTER
bool "Activate router advertising at interface start-up"
default n if USEMODULE_GNRC_DHCPV6_CLIENT_IA_PD || USEMODULE_GNRC_UHCPC
default n if USEMODULE_GNRC_IPV6_AUTO_SUBNETS
default y if GNRC_IPV6_NIB_ROUTER && (!GNRC_IPV6_NIB_6LR || GNRC_IPV6_NIB_6LBR)

config GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
bool "Include a Route Information Option for subnets"
default y if USEMODULE_GNRC_IPV6_AUTO_SUBNETS
default n
help
on other interfaces in the last Router Advertisement
generated by @ref gnrc_ipv6_nib_change_rtr_adv_iface

if GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
comment "Activating inclusion of the Route Information Option"
comment "requires the `gnrc_ipv6_nib_rio` module."
endif

config GNRC_IPV6_NIB_DC
bool "Destination cache"

Expand Down