From d30216dcbe4e349ef0def475d9c0d42eba36fb07 Mon Sep 17 00:00:00 2001 From: Martine Lenders <m.lenders@fu-berlin.de> Date: Sat, 10 Jun 2017 22:48:44 +0200 Subject: [PATCH] gnrc_ipv6_nib: add configuration pseudo-modules --- Makefile.dep | 18 ++++++++++++ makefiles/pseudomodules.inc.mk | 4 +++ sys/include/net/gnrc/ipv6/nib/conf.h | 41 ++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) diff --git a/Makefile.dep b/Makefile.dep index 1725687b73..473880c82e 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -319,8 +319,26 @@ ifneq (,$(filter gnrc_ipv6_nc,$(USEMODULE))) USEMODULE += ipv6_addr endif +ifneq (,$(filter gnrc_ipv6_nib_6lbr,$(USEMODULE))) + USEMODULE += gnrc_ipv6_nib_6lr +endif + +ifneq (,$(filter gnrc_ipv6_nib_6lr,$(USEMODULE))) + USEMODULE += gnrc_ipv6_nib_6ln + USEMODULE += gnrc_ipv6_nib_router +endif + +ifneq (,$(filter gnrc_ipv6_nib_6ln,$(USEMODULE))) + USEMODULE += gnrc_ipv6_nib +endif + +ifneq (,$(filter gnrc_ipv6_nib_router,$(USEMODULE))) + USEMODULE += gnrc_ipv6_nib +endif + ifneq (,$(filter gnrc_ipv6_nib,$(USEMODULE))) USEMODULE += evtimer + USEMODULE += gnrc_ndp2 USEMODULE += ipv6_addr USEMODULE += random endif diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index 3c3e4dd89b..08bb19d0b4 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -11,6 +11,10 @@ PSEUDOMODULES += emb6_router PSEUDOMODULES += gnrc_ipv6_default PSEUDOMODULES += gnrc_ipv6_router PSEUDOMODULES += gnrc_ipv6_router_default +PSEUDOMODULES += gnrc_ipv6_nib_6lbr +PSEUDOMODULES += gnrc_ipv6_nib_6ln +PSEUDOMODULES += gnrc_ipv6_nib_6lr +PSEUDOMODULES += gnrc_ipv6_nib_router PSEUDOMODULES += gnrc_netdev_default PSEUDOMODULES += gnrc_neterr PSEUDOMODULES += gnrc_netapi_callbacks diff --git a/sys/include/net/gnrc/ipv6/nib/conf.h b/sys/include/net/gnrc/ipv6/nib/conf.h index 4710ede5f5..e3c28286e0 100644 --- a/sys/include/net/gnrc/ipv6/nib/conf.h +++ b/sys/include/net/gnrc/ipv6/nib/conf.h @@ -24,6 +24,47 @@ extern "C" { #endif +/* some pseudo-module based configuration, doc: see below */ +#ifdef MODULE_GNRC_IPV6_NIB_6LBR +#ifndef GNRC_IPV6_NIB_CONF_6LBR +#define GNRC_IPV6_NIB_CONF_6LBR (1) +#endif +#endif + +#ifdef MODULE_GNRC_IPV6_NIB_6LR +#ifndef GNRC_IPV6_NIB_CONF_6LR +#define GNRC_IPV6_NIB_CONF_6LR (1) +#endif +#ifndef GNRC_IPV6_NIB_CONF_SLAAC +#define GNRC_IPV6_NIB_CONF_SLAAC (0) +#endif +#endif + +#ifdef MODULE_GNRC_IPV6_NIB_6LN +#ifndef GNRC_IPV6_NIB_CONF_6LN +#define GNRC_IPV6_NIB_CONF_6LN (1) +#endif +#ifndef GNRC_IPV6_NIB_CONF_SLAAC +#define GNRC_IPV6_NIB_CONF_SLAAC (0) +#endif +#ifndef GNRC_IPV6_NIB_CONF_QUEUE_PKT +#define GNRC_IPV6_NIB_CONF_QUEUE_PKT (0) +#endif +#if !GNRC_IPV6_NIB_CONF_6LR +# ifndef GNRC_IPV6_NIB_CONF_ARSM +# define GNRC_IPV6_NIB_CONF_ARSM (0) +# endif +# ifndef GNRC_IPV6_NIB_NUMOF +/* only needs to store default router */ +# define GNRC_IPV6_NIB_NUMOF (1) +# endif +#endif +#endif + +#ifdef MODULE_GNRC_IPV6_NIB_ROUTER +#define GNRC_IPV6_NIB_CONF_ROUTER (1) +#endif + /** * @name Compile flags * @brief Compile flags to (de-)activate certain features for NIB -- GitLab