Loading...
Searching...
No Matches
conf.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2017 Freie Universität Berlin
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
21#ifndef NET_GNRC_IPV6_NIB_CONF_H
22#define NET_GNRC_IPV6_NIB_CONF_H
23
24#include "modules.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30/* Apply configurations only if not using Kconfig for this module */
31#if !IS_ACTIVE(CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB) || defined(DOXYGEN)
32
33/* some pseudo-module based configuration, doc: see below */
34#ifdef MODULE_GNRC_IPV6_NIB_6LBR
35#ifndef CONFIG_GNRC_IPV6_NIB_6LBR
36#define CONFIG_GNRC_IPV6_NIB_6LBR 1
37#endif
38#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
39#define CONFIG_GNRC_IPV6_NIB_NUMOF (16)
40#endif
41#endif
42
43#ifdef MODULE_GNRC_IPV6_NIB_6LR
44#ifndef CONFIG_GNRC_IPV6_NIB_6LR
45#define CONFIG_GNRC_IPV6_NIB_6LR 1
46#endif
47#endif
48
49#ifdef MODULE_GNRC_IPV6_NIB_6LN
50#ifndef CONFIG_GNRC_IPV6_NIB_6LN
51#define CONFIG_GNRC_IPV6_NIB_6LN 1
52#endif
53
54/* We are only a 6lo node with no 'classic' IPv6 interface */
55#ifndef MODULE_GNRC_IPV6_CLASSIC
56#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
57#define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 0
58#endif
59#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
60#define CONFIG_GNRC_IPV6_NIB_SLAAC 0
61#endif
62#if !CONFIG_GNRC_IPV6_NIB_6LR
63# ifndef CONFIG_GNRC_IPV6_NIB_ARSM
64# define CONFIG_GNRC_IPV6_NIB_ARSM 0
65# endif
66# ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
67/* only needs to store default router */
68# define CONFIG_GNRC_IPV6_NIB_NUMOF (1)
69# endif
70#endif
71#endif
72#endif
73
74#ifdef MODULE_GNRC_IPV6_NIB_ROUTER
75#define CONFIG_GNRC_IPV6_NIB_ROUTER 1
76#endif
77
78#ifdef MODULE_GNRC_IPV6_NIB_DNS
79#define CONFIG_GNRC_IPV6_NIB_DNS 1
80#endif
81
90#ifndef CONFIG_GNRC_IPV6_NIB_6LBR
91#define CONFIG_GNRC_IPV6_NIB_6LBR 0
92#endif
93
97#ifndef CONFIG_GNRC_IPV6_NIB_6LR
98#if CONFIG_GNRC_IPV6_NIB_6LBR
99#define CONFIG_GNRC_IPV6_NIB_6LR 1
100#else
101#define CONFIG_GNRC_IPV6_NIB_6LR 0
102#endif
103#endif
104
108#ifndef CONFIG_GNRC_IPV6_NIB_6LN
109#if CONFIG_GNRC_IPV6_NIB_6LR
110#define CONFIG_GNRC_IPV6_NIB_6LN 1
111#else
112#define CONFIG_GNRC_IPV6_NIB_6LN 0
113#endif
114#endif
115
119#ifndef CONFIG_GNRC_IPV6_NIB_ROUTER
120#if CONFIG_GNRC_IPV6_NIB_6LR
121#define CONFIG_GNRC_IPV6_NIB_ROUTER 1
122#else
123#define CONFIG_GNRC_IPV6_NIB_ROUTER 0
124#endif
125#endif
126
130#ifndef CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
131#define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 0
132#endif
133
146#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
147#define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
148#endif
149
157#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
158#if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
159#define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
160#else
161#define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
162#endif
163#endif
164
168#ifndef CONFIG_GNRC_IPV6_NIB_ARSM
169#define CONFIG_GNRC_IPV6_NIB_ARSM 1
170#endif
171
175#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
176#define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
177#endif
178
185#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
186#define CONFIG_GNRC_IPV6_NIB_SLAAC 1
187#endif
188
192#ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
193#define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
194#endif
195
199#ifndef CONFIG_GNRC_IPV6_NIB_DC
200#if CONFIG_GNRC_IPV6_NIB_REDIRECT
201#define CONFIG_GNRC_IPV6_NIB_DC 1
202#else
203#define CONFIG_GNRC_IPV6_NIB_DC 0
204#endif
205#endif
206
212#ifndef CONFIG_GNRC_IPV6_NIB_DNS
213#define CONFIG_GNRC_IPV6_NIB_DNS 0
214#endif
215
221#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
222#if CONFIG_GNRC_IPV6_NIB_6LR
223#define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
224#else
225#define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
226#endif
227#endif
228
234#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
235#define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
236#endif
244#ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
245#define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
246#endif
247
253#ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
254#define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
255#endif
256
260#ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
261#define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
262#endif
263
270#ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
271#define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
272#endif
273
280#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
281#define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
282#endif
283
292#ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
293#define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
294#endif
295
302#ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
303#define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
304#endif
305
306#if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
310#ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
311#define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
312#endif
313#endif
314
315#endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
316
317#ifdef __cplusplus
318}
319#endif
320
321#endif /* NET_GNRC_IPV6_NIB_CONF_H */
Common macros and compiler attributes/pragmas configuration.