Loading...
Searching...
No Matches
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
20
21#include "modules.h"
22
23#ifdef __cplusplus
24extern "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
140#ifndef CONFIG_GNRC_IPV6_NIB_ABR
141# define CONFIG_GNRC_IPV6_NIB_ABR CONFIG_GNRC_IPV6_NIB_6LBR
142#endif
143
156#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
157# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
158#endif
159
167#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
168# if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
169# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
170# else
171# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
172# endif
173#endif
174
178#ifndef CONFIG_GNRC_IPV6_NIB_ARSM
179# define CONFIG_GNRC_IPV6_NIB_ARSM 1
180#endif
181
185#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
186# define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
187#endif
188
195#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
196# define CONFIG_GNRC_IPV6_NIB_SLAAC 1
197#endif
198
202#ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
203# define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
204#endif
205
209#ifndef CONFIG_GNRC_IPV6_NIB_DC
210# if CONFIG_GNRC_IPV6_NIB_REDIRECT
211# define CONFIG_GNRC_IPV6_NIB_DC 1
212# else
213# define CONFIG_GNRC_IPV6_NIB_DC 0
214# endif
215#endif
216
222#ifndef CONFIG_GNRC_IPV6_NIB_DNS
223# define CONFIG_GNRC_IPV6_NIB_DNS 0
224#endif
225
231#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
232# if CONFIG_GNRC_IPV6_NIB_6LR
233# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
234# else
235# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
236# endif
237#endif
238
242#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C_AUTO_ADV
243# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C_AUTO_ADV CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
244#endif
245
251#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
252# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
253#endif
255
261#ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
262# define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
263#endif
264
270#ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
271# define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
272#endif
273
277#ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
278# define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
279#endif
280
287#ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
288# define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
289#endif
290
297#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
298# define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
299#endif
300
309#ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
310# define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
311#endif
312
319#ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
320# define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
321#endif
322
323#if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
327# ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
328# define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
329# endif
330#endif
331
332#endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
333
334#ifdef __cplusplus
335}
336#endif
337
Common macros and compiler attributes/pragmas configuration.