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
152#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA
153# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_RA 0
154#endif
155
163#ifndef CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA
164# if IS_USED(MODULE_GNRC_IPV6_AUTO_SUBNETS)
165# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 1
166# else
167# define CONFIG_GNRC_IPV6_NIB_ADD_RIO_IN_LAST_RA 0
168# endif
169#endif
170
174#ifndef CONFIG_GNRC_IPV6_NIB_ARSM
175# define CONFIG_GNRC_IPV6_NIB_ARSM 1
176#endif
177
181#ifndef CONFIG_GNRC_IPV6_NIB_QUEUE_PKT
182# define CONFIG_GNRC_IPV6_NIB_QUEUE_PKT 1
183#endif
184
191#ifndef CONFIG_GNRC_IPV6_NIB_SLAAC
192# define CONFIG_GNRC_IPV6_NIB_SLAAC 1
193#endif
194
198#ifndef CONFIG_GNRC_IPV6_NIB_REDIRECT
199# define CONFIG_GNRC_IPV6_NIB_REDIRECT 0
200#endif
201
205#ifndef CONFIG_GNRC_IPV6_NIB_DC
206# if CONFIG_GNRC_IPV6_NIB_REDIRECT
207# define CONFIG_GNRC_IPV6_NIB_DC 1
208# else
209# define CONFIG_GNRC_IPV6_NIB_DC 0
210# endif
211#endif
212
218#ifndef CONFIG_GNRC_IPV6_NIB_DNS
219# define CONFIG_GNRC_IPV6_NIB_DNS 0
220#endif
221
227#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C
228# if CONFIG_GNRC_IPV6_NIB_6LR
229# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 1
230# else
231# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C 0
232# endif
233#endif
234
240#ifndef CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD
241# define CONFIG_GNRC_IPV6_NIB_MULTIHOP_DAD 0
242#endif
244
250#ifndef CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET
251# define CONFIG_GNRC_IPV6_NIB_REACH_TIME_RESET (7200000U)
252#endif
253
259#ifndef CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL
260# define CONFIG_GNRC_IPV6_NIB_NO_RTR_SOL 0
261#endif
262
266#ifndef CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
267# define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
268#endif
269
276#ifndef CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
277# define CONFIG_GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
278#endif
279
286#ifndef CONFIG_GNRC_IPV6_NIB_NUMOF
287# define CONFIG_GNRC_IPV6_NIB_NUMOF (4)
288#endif
289
298#ifndef CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP
299# define CONFIG_GNRC_IPV6_NIB_NBR_QUEUE_CAP (16)
300#endif
301
308#ifndef CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF
309# define CONFIG_GNRC_IPV6_NIB_OFFL_NUMOF (8)
310#endif
311
312#if CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C || defined(DOXYGEN)
316# ifndef CONFIG_GNRC_IPV6_NIB_ABR_NUMOF
317# define CONFIG_GNRC_IPV6_NIB_ABR_NUMOF (1)
318# endif
319#endif
320
321#endif /* !CONFIG_KCONFIG_MODULE_GNRC_IPV6_NIB || DOXYGEN */
322
323#ifdef __cplusplus
324}
325#endif
326
Common macros and compiler attributes/pragmas configuration.