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 <kernel_defines.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_SLAAC
39 #define CONFIG_GNRC_IPV6_NIB_SLAAC 1
40 #endif
41 #ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
42 #define CONFIG_GNRC_IPV6_NIB_NUMOF (16)
43 #endif
44 #endif
45 
46 #ifdef MODULE_GNRC_IPV6_NIB_6LR
47 #ifndef CONFIG_GNRC_IPV6_NIB_6LR
48 #define CONFIG_GNRC_IPV6_NIB_6LR 1
49 #endif
50 #ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
51 #define CONFIG_GNRC_IPV6_NIB_SLAAC 0
52 #endif
53 #endif
54 
55 #ifdef MODULE_GNRC_IPV6_NIB_6LN
56 #ifndef CONFIG_GNRC_IPV6_NIB_6LN
57 #define CONFIG_GNRC_IPV6_NIB_6LN 1
58 #endif
59 #ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
60 #define CONFIG_GNRC_IPV6_NIB_SLAAC 0
61 #endif
62 #ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
63 #define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 0
64 #endif
65 #if !CONFIG_GNRC_IPV6_NIB_6LR
66 # ifndef CONFIG_GNRC_IPV6_NIB_ARSM
67 # define CONFIG_GNRC_IPV6_NIB_ARSM 0
68 # endif
69 # ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
70 /* only needs to store default router */
71 # define CONFIG_GNRC_IPV6_NIB_NUMOF (1)
72 # endif
73 #endif
74 #endif
75 
76 #ifdef MODULE_GNRC_IPV6_NIB_ROUTER
77 #define CONFIG_GNRC_IPV6_NIB_ROUTER 1
78 #endif
79 
80 #ifdef MODULE_GNRC_IPV6_NIB_DNS
81 #define CONFIG_GNRC_IPV6_NIB_DNS 1
82 #endif
83 
92 #ifndef CONFIG_GNRC_IPV6_NIB_6LBR
93 #define CONFIG_GNRC_IPV6_NIB_6LBR 0
94 #endif
95 
99 #ifndef CONFIG_GNRC_IPV6_NIB_6LR
100 #if CONFIG_GNRC_IPV6_NIB_6LBR
101 #define CONFIG_GNRC_IPV6_NIB_6LR 1
102 #else
103 #define CONFIG_GNRC_IPV6_NIB_6LR 0
104 #endif
105 #endif
106 
110 #ifndef CONFIG_GNRC_IPV6_NIB_6LN
111 #if CONFIG_GNRC_IPV6_NIB_6LR
112 #define CONFIG_GNRC_IPV6_NIB_6LN 1
113 #else
114 #define CONFIG_GNRC_IPV6_NIB_6LN 0
115 #endif
116 #endif
117 
121 #ifndef CONFIG_GNRC_IPV6_NIB_ROUTER
122 #if CONFIG_GNRC_IPV6_NIB_6LR
123 #define CONFIG_GNRC_IPV6_NIB_ROUTER 1
124 #else
125 #define CONFIG_GNRC_IPV6_NIB_ROUTER 0
126 #endif
127 #endif
128 
132 #ifndef CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
133 #if CONFIG_GNRC_IPV6_NIB_ROUTER && \
134  (!CONFIG_GNRC_IPV6_NIB_6LR || CONFIG_GNRC_IPV6_NIB_6LBR)
135 #define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 1
136 #else
137 #define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER 0
138 #endif
139 #endif
140 
144 #ifndef CONFIG_GNRC_IPV6_NIB_ARSM
145 #define CONFIG_GNRC_IPV6_NIB_ARSM 1
146 #endif
147 
151 #ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
152 #if CONFIG_GNRC_IPV6_NIB_6LN
153 #define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 0
154 #else
155 #define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
156 #endif
157 #endif
158 
165 #ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
166 #define CONFIG_GNRC_IPV6_NIB_SLAAC 1
167 #endif
168 
172 #ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
173 #define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
174 #endif
175 
179 #ifndef CONFIG_GNRC_IPV6_NIB_DC
180 #if CONFIG_GNRC_IPV6_NIB_REDIRECT
181 #define CONFIG_GNRC_IPV6_NIB_DC 1
182 #else
183 #define CONFIG_GNRC_IPV6_NIB_DC 0
184 #endif
185 #endif
186 
192 #ifndef CONFIG_GNRC_IPV6_NIB_DNS
193 #define CONFIG_GNRC_IPV6_NIB_DNS 0
194 #endif
195 
201 #ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
202 #if CONFIG_GNRC_IPV6_NIB_6LR
203 #define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
204 #else
205 #define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
206 #endif
207 #endif
208 
214 #ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
215 #define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
216 #endif
217 
224 #ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
225 #define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
226 #endif
227 
233 #ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
234 #define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
235 #endif
236 
240 #ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
241 #define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
242 #endif
243 
250 #ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
251 #define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
252 #endif
253 
260 #ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
261 #define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
262 #endif
263 
270 #ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
271 #define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
272 #endif
273 
274 #if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
275 
278 #ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
279 #define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
280 #endif
281 #endif
282 
283 #endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
284 
285 #ifdef __cplusplus
286 }
287 #endif
288 
289 #endif /* NET_GNRC_IPV6_NIB_CONF_H */
290 
kernel_defines.h
Common macros and compiler attributes/pragmas configuration.