Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
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
27
extern
"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
# ifndef MODULE_GNRC_IPV6_CLASSIC
54
/* We are only a 6lo node with no 'classic' IPv6 interface */
55
# ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
56
# define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 0
57
# endif
58
# ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
59
# define CONFIG_GNRC_IPV6_NIB_SLAAC 0
60
# endif
61
# if !CONFIG_GNRC_IPV6_NIB_6LR
62
# ifndef CONFIG_GNRC_IPV6_NIB_ARSM
63
# define CONFIG_GNRC_IPV6_NIB_ARSM 0
64
# endif
65
# ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
66
/* only needs to store default router */
67
# define CONFIG_GNRC_IPV6_NIB_NUMOF (1)
68
# endif
69
# endif
70
# endif
71
#endif
72
73
#ifdef MODULE_GNRC_IPV6_NIB_ROUTER
74
# define CONFIG_GNRC_IPV6_NIB_ROUTER 1
75
#endif
76
77
#ifdef MODULE_GNRC_IPV6_NIB_DNS
78
# define CONFIG_GNRC_IPV6_NIB_DNS 1
79
#endif
80
89
#ifndef CONFIG_GNRC_IPV6_NIB_6LBR
90
# define CONFIG_GNRC_IPV6_NIB_6LBR 0
91
#endif
92
96
#ifndef CONFIG_GNRC_IPV6_NIB_6LR
97
# if CONFIG_GNRC_IPV6_NIB_6LBR
98
# define CONFIG_GNRC_IPV6_NIB_6LR 1
99
# else
100
# define CONFIG_GNRC_IPV6_NIB_6LR 0
101
# endif
102
#endif
103
107
#ifndef CONFIG_GNRC_IPV6_NIB_6LN
108
# if CONFIG_GNRC_IPV6_NIB_6LR
109
# define CONFIG_GNRC_IPV6_NIB_6LN 1
110
# else
111
# define CONFIG_GNRC_IPV6_NIB_6LN 0
112
# endif
113
#endif
114
118
#ifndef CONFIG_GNRC_IPV6_NIB_ROUTER
119
# if CONFIG_GNRC_IPV6_NIB_6LR
120
# define CONFIG_GNRC_IPV6_NIB_ROUTER 1
121
# else
122
# define CONFIG_GNRC_IPV6_NIB_ROUTER 0
123
# endif
124
#endif
125
129
#ifndef CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
130
# define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 0
131
#endif
132
136
#ifndef CONFIG_GNRC_IPV6_NIB_SOL_ROUTER
137
# define CONFIG_GNRC_IPV6_NIB_SOL_ROUTER 1
138
#endif
139
152
#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
153
# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
154
#endif
155
163
#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
164
# if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
165
# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
166
# else
167
# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
168
# endif
169
#endif
170
174
#ifndef CONFIG_GNRC_IPV6_NIB_ARSM
175
# define CONFIG_GNRC_IPV6_NIB_ARSM 1
176
#endif
177
181
#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
182
# define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
183
#endif
184
191
#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
192
# define CONFIG_GNRC_IPV6_NIB_SLAAC 1
193
#endif
194
198
#ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
199
# define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
200
#endif
201
205
#ifndef CONFIG_GNRC_IPV6_NIB_DC
206
# if CONFIG_GNRC_IPV6_NIB_REDIRECT
207
# define CONFIG_GNRC_IPV6_NIB_DC 1
208
# else
209
# define CONFIG_GNRC_IPV6_NIB_DC 0
210
# endif
211
#endif
212
218
#ifndef CONFIG_GNRC_IPV6_NIB_DNS
219
# define CONFIG_GNRC_IPV6_NIB_DNS 0
220
#endif
221
227
#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
228
# if CONFIG_GNRC_IPV6_NIB_6LR
229
# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
230
# else
231
# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
232
# endif
233
#endif
234
240
#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
241
# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
242
#endif
250
#ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
251
# define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
252
#endif
253
259
#ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
260
# define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
261
#endif
262
266
#ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
267
# define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
268
#endif
269
276
#ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
277
# define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
278
#endif
279
286
#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
287
# define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
288
#endif
289
298
#ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
299
# define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
300
#endif
301
308
#ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
309
# define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
310
#endif
311
312
#if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
316
# ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
317
# define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
318
# endif
319
#endif
320
321
#endif
/* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
322
323
#ifdef __cplusplus
324
}
325
#endif
326
327
#endif
/* NET_GNRC_IPV6_NIB_CONF_H */
modules.h
Common macros and compiler attributes/pragmas configuration.
Generated on Mon Apr 28 2025 20:36:27 by
1.9.1