Loading...
Searching...
No Matches
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
9#pragma once
10
23
24#include "modules.h"
25
26#ifdef __cplusplus
27extern "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
143#ifndef CONFIG_GNRC_IPV6_NIB_ABR
144# define CONFIG_GNRC_IPV6_NIB_ABR CONFIG_GNRC_IPV6_NIB_6LBR
145#endif
146
159#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
160# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
161#endif
162
170#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
171# if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
172# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
173# else
174# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
175# endif
176#endif
177
181#ifndef CONFIG_GNRC_IPV6_NIB_ARSM
182# define CONFIG_GNRC_IPV6_NIB_ARSM 1
183#endif
184
188#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
189# define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
190#endif
191
198#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
199# define CONFIG_GNRC_IPV6_NIB_SLAAC 1
200#endif
201
205#ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
206# define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
207#endif
208
212#ifndef CONFIG_GNRC_IPV6_NIB_DC
213# if CONFIG_GNRC_IPV6_NIB_REDIRECT
214# define CONFIG_GNRC_IPV6_NIB_DC 1
215# else
216# define CONFIG_GNRC_IPV6_NIB_DC 0
217# endif
218#endif
219
225#ifndef CONFIG_GNRC_IPV6_NIB_DNS
226# define CONFIG_GNRC_IPV6_NIB_DNS 0
227#endif
228
234#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
235# if CONFIG_GNRC_IPV6_NIB_6LR
236# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
237# else
238# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
239# endif
240#endif
241
245#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C_AUTO_ADV
246# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C_AUTO_ADV CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
247#endif
248
254#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
255# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
256#endif
258
264#ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
265# define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
266#endif
267
273#ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
274# define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
275#endif
276
280#ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
281# define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
282#endif
283
290#ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
291# define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
292#endif
293
300#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
301# define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
302#endif
303
312#ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
313# define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
314#endif
315
322#ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
323# define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
324#endif
325
326#if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
330# ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
331# define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
332# endif
333#endif
334
335#endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
336
337#ifdef __cplusplus
338}
339#endif
340
Common macros and compiler attributes/pragmas configuration.