conf.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2017 Freie Universität Berlin
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
21 #include "modules.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* Apply configurations only if not using Kconfig for this module */
28 #if !IS_ACTIVE(CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB) || defined(DOXYGEN)
29 
30 /* some pseudo-module based configuration, doc: see below */
31 #ifdef MODULE_GNRC_IPV6_NIB_6LBR
32 # ifndef CONFIG_GNRC_IPV6_NIB_6LBR
33 # define CONFIG_GNRC_IPV6_NIB_6LBR 1
34 # endif
35 # ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
36 # define CONFIG_GNRC_IPV6_NIB_NUMOF (16)
37 # endif
38 #endif
39 
40 #ifdef MODULE_GNRC_IPV6_NIB_6LR
41 # ifndef CONFIG_GNRC_IPV6_NIB_6LR
42 # define CONFIG_GNRC_IPV6_NIB_6LR 1
43 # endif
44 #endif
45 
46 #ifdef MODULE_GNRC_IPV6_NIB_6LN
47 # ifndef CONFIG_GNRC_IPV6_NIB_6LN
48 # define CONFIG_GNRC_IPV6_NIB_6LN 1
49 # endif
50 # ifndef MODULE_GNRC_IPV6_CLASSIC
51  /* We are only a 6lo node with no 'classic' IPv6 interface */
52 # ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
53 # define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 0
54 # endif
55 # ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
56 # define CONFIG_GNRC_IPV6_NIB_SLAAC 0
57 # endif
58 # if !CONFIG_GNRC_IPV6_NIB_6LR
59 # ifndef CONFIG_GNRC_IPV6_NIB_ARSM
60 # define CONFIG_GNRC_IPV6_NIB_ARSM 0
61 # endif
62 # ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
63  /* only needs to store default router */
64 # define CONFIG_GNRC_IPV6_NIB_NUMOF (1)
65 # endif
66 # endif
67 # endif
68 #endif
69 
70 #ifdef MODULE_GNRC_IPV6_NIB_ROUTER
71 # define CONFIG_GNRC_IPV6_NIB_ROUTER 1
72 #endif
73 
74 #ifdef MODULE_GNRC_IPV6_NIB_DNS
75 # define CONFIG_GNRC_IPV6_NIB_DNS 1
76 #endif
77 
86 #ifndef CONFIG_GNRC_IPV6_NIB_6LBR
87 # define CONFIG_GNRC_IPV6_NIB_6LBR 0
88 #endif
89 
93 #ifndef CONFIG_GNRC_IPV6_NIB_6LR
94 # if CONFIG_GNRC_IPV6_NIB_6LBR
95 # define CONFIG_GNRC_IPV6_NIB_6LR 1
96 # else
97 # define CONFIG_GNRC_IPV6_NIB_6LR 0
98 # endif
99 #endif
100 
104 #ifndef CONFIG_GNRC_IPV6_NIB_6LN
105 # if CONFIG_GNRC_IPV6_NIB_6LR
106 # define CONFIG_GNRC_IPV6_NIB_6LN 1
107 # else
108 # define CONFIG_GNRC_IPV6_NIB_6LN 0
109 # endif
110 #endif
111 
115 #ifndef CONFIG_GNRC_IPV6_NIB_ROUTER
116 # if CONFIG_GNRC_IPV6_NIB_6LR
117 # define CONFIG_GNRC_IPV6_NIB_ROUTER 1
118 # else
119 # define CONFIG_GNRC_IPV6_NIB_ROUTER 0
120 # endif
121 #endif
122 
126 #ifndef CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
127 # define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 0
128 #endif
129 
133 #ifndef CONFIG_GNRC_IPV6_NIB_SOL_ROUTER
134 # define CONFIG_GNRC_IPV6_NIB_SOL_ROUTER 1
135 #endif
136 
149 #ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
150 # define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
151 #endif
152 
160 #ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
161 # if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
162 # define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
163 # else
164 # define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
165 # endif
166 #endif
167 
171 #ifndef CONFIG_GNRC_IPV6_NIB_ARSM
172 # define CONFIG_GNRC_IPV6_NIB_ARSM 1
173 #endif
174 
178 #ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
179 # define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
180 #endif
181 
188 #ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
189 # define CONFIG_GNRC_IPV6_NIB_SLAAC 1
190 #endif
191 
195 #ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
196 # define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
197 #endif
198 
202 #ifndef CONFIG_GNRC_IPV6_NIB_DC
203 # if CONFIG_GNRC_IPV6_NIB_REDIRECT
204 # define CONFIG_GNRC_IPV6_NIB_DC 1
205 # else
206 # define CONFIG_GNRC_IPV6_NIB_DC 0
207 # endif
208 #endif
209 
215 #ifndef CONFIG_GNRC_IPV6_NIB_DNS
216 # define CONFIG_GNRC_IPV6_NIB_DNS 0
217 #endif
218 
224 #ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
225 # if CONFIG_GNRC_IPV6_NIB_6LR
226 # define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
227 # else
228 # define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
229 # endif
230 #endif
231 
237 #ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
238 # define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
239 #endif
247 #ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
248 # define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
249 #endif
250 
256 #ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
257 # define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
258 #endif
259 
263 #ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
264 # define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
265 #endif
266 
273 #ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
274 # define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
275 #endif
276 
283 #ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
284 # define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
285 #endif
286 
295 #ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
296 # define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
297 #endif
298 
305 #ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
306 # define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
307 #endif
308 
309 #if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
313 # ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
314 # define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
315 # endif
316 #endif
317 
318 #endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
319 
320 #ifdef __cplusplus
321 }
322 #endif
323 
Common macros and compiler attributes/pragmas configuration.