config.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 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_SIXLOWPAN_CONFIG_H
22 #define NET_GNRC_SIXLOWPAN_CONFIG_H
23 
24 #include "modules.h"
25 #include "timex.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
38 #ifndef GNRC_SIXLOWPAN_STACK_SIZE
39 #define GNRC_SIXLOWPAN_STACK_SIZE ((THREAD_STACKSIZE_DEFAULT) - 64)
40 #endif
41 
45 #ifndef GNRC_SIXLOWPAN_PRIO
46 #define GNRC_SIXLOWPAN_PRIO (THREAD_PRIORITY_MAIN - 4)
47 #endif
48 
56 #ifndef CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP
57 #define CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP (3U)
58 #endif
59 
69 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE
70 #if IS_USED(MODULE_GNRC_SIXLOWPAN_FRAG_SFR)
71 #define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (4U)
72 #else /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_SFR) */
73 #define CONFIG_GNRC_SIXLOWPAN_FRAG_FB_SIZE (1U)
74 #endif /* defined(MODULE_GNRC_SIXLOWPAN_FRAG_SFR) */
75 #endif
76 
83 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE
84 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_SIZE (4U)
85 #endif
86 
93 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US
94 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US (3U * US_PER_SEC)
95 #endif
96 
109 #ifdef DOXYGEN
110 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DO_NOT_OVERRIDE
111 #endif
112 
124 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER
125 #define CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_DEL_TIMER (0U)
126 #endif
127 
142 #ifndef CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME
143 #define CONFIG_GNRC_SIXLOWPAN_ND_AR_LTIME (15U)
144 #endif
145 
156 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE
157 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE (16U)
158 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_SIZE */
159 
168 #ifndef CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US
169 #define CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US (CONFIG_GNRC_SIXLOWPAN_FRAG_RBUF_TIMEOUT_US)
170 #endif /* CONFIG_GNRC_SIXLOWPAN_FRAG_VRB_TIMEOUT_US */
171 
182 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE
183 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_FRAG_SIZE 96U
184 #endif
185 
193 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE
194 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE 112U
195 #endif
196 
205 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE
206 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_FRAG_SIZE CONFIG_GNRC_SIXLOWPAN_SFR_MAX_FRAG_SIZE
207 #endif
208 
216 #ifdef CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN
217 #if IS_USED(MODULE_GNRC_SIXLOWPAN_FRAG_SFR_CONGURE)
218 #define CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN 1U
219 #else
220 #define CONFIG_GNRC_SIXLOWPAN_SFR_USE_ECN 0U
221 #endif
222 #endif
223 
228 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE
229 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_WIN_SIZE 1U
230 #endif
231 
238 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE
239 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_WIN_SIZE 16U
240 #endif
241 
250 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE
251 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_WIN_SIZE 16U
252 #endif
253 
266 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US
267 #define CONFIG_GNRC_SIXLOWPAN_SFR_INTER_FRAME_GAP_US 100U
268 #endif
269 
274 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS
275 #define CONFIG_GNRC_SIXLOWPAN_SFR_MIN_ARQ_TIMEOUT_MS 350U
276 #endif
277 
282 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS
283 #define CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS 700U
284 #endif
285 
294 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS
295 #define CONFIG_GNRC_SIXLOWPAN_SFR_OPT_ARQ_TIMEOUT_MS \
296  CONFIG_GNRC_SIXLOWPAN_SFR_MAX_ARQ_TIMEOUT_MS
297 #endif
298 
303 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES
304 #define CONFIG_GNRC_SIXLOWPAN_SFR_FRAG_RETRIES 2U
305 #endif
306 
311 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES
312 #define CONFIG_GNRC_SIXLOWPAN_SFR_DG_RETRIES 0U
313 #endif
314 
324 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM
325 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_NUM 1U
326 #endif
327 
337 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN
338 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_IN_DEN 2U
339 #endif
340 
350 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM
351 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_NUM 1U
352 #endif
353 
363 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN
364 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_IF_OUT_DEN 2U
365 #endif
366 
375 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM
376 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_NUM 1U
377 #endif
378 
387 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN
388 #define CONFIG_GNRC_SIXLOWPAN_SFR_ECN_FQUEUE_DEN 2U
389 #endif
390 
398 #ifndef CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER
399 #define CONFIG_GNRC_SIXLOWPAN_SFR_MOCK_ARQ_TIMER 0U
400 #endif
406 #ifndef GNRC_SIXLOWPAN_MSG_QUEUE_SIZE
407 #define GNRC_SIXLOWPAN_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_SIXLOWPAN_MSG_QUEUE_SIZE_EXP)
408 #endif
409 
410 #ifdef __cplusplus
411 }
412 #endif
413 
414 #endif /* NET_GNRC_SIXLOWPAN_CONFIG_H */
Common macros and compiler attributes/pragmas configuration.
Utility library for comparing and computing timestamps.