ipv6/nib/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 
20 #ifndef NET_GNRC_IPV6_NIB_CONF_H
21 #define NET_GNRC_IPV6_NIB_CONF_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 /* some pseudo-module based configuration, doc: see below */
28 #ifdef MODULE_GNRC_IPV6_NIB_6LBR
29 #ifndef GNRC_IPV6_NIB_CONF_6LBR
30 #define GNRC_IPV6_NIB_CONF_6LBR (1)
31 #endif
32 #ifndef GNRC_IPV6_NIB_NUMOF
33 #define GNRC_IPV6_NIB_NUMOF (16)
34 #endif
35 #endif
36 
37 #ifdef MODULE_GNRC_IPV6_NIB_6LR
38 #ifndef GNRC_IPV6_NIB_CONF_6LR
39 #define GNRC_IPV6_NIB_CONF_6LR (1)
40 #endif
41 #ifndef GNRC_IPV6_NIB_CONF_SLAAC
42 #define GNRC_IPV6_NIB_CONF_SLAAC (0)
43 #endif
44 #endif
45 
46 #ifdef MODULE_GNRC_IPV6_NIB_6LN
47 #ifndef GNRC_IPV6_NIB_CONF_6LN
48 #define GNRC_IPV6_NIB_CONF_6LN (1)
49 #endif
50 #ifndef GNRC_IPV6_NIB_CONF_SLAAC
51 #define GNRC_IPV6_NIB_CONF_SLAAC (0)
52 #endif
53 #ifndef GNRC_IPV6_NIB_CONF_QUEUE_PKT
54 #define GNRC_IPV6_NIB_CONF_QUEUE_PKT (0)
55 #endif
56 #if !GNRC_IPV6_NIB_CONF_6LR
57 # ifndef GNRC_IPV6_NIB_CONF_ARSM
58 # define GNRC_IPV6_NIB_CONF_ARSM (0)
59 # endif
60 # ifndef GNRC_IPV6_NIB_NUMOF
61 /* only needs to store default router */
62 # define GNRC_IPV6_NIB_NUMOF (1)
63 # endif
64 #endif
65 #endif
66 
67 #ifdef MODULE_GNRC_IPV6_NIB_ROUTER
68 #define GNRC_IPV6_NIB_CONF_ROUTER (1)
69 #endif
70 
71 #ifdef MODULE_GNRC_IPV6_NIB_DNS
72 #define GNRC_IPV6_NIB_CONF_DNS (1)
73 #endif
74 
83 #ifndef GNRC_IPV6_NIB_CONF_6LBR
84 #define GNRC_IPV6_NIB_CONF_6LBR (0)
85 #endif
86 
90 #ifndef GNRC_IPV6_NIB_CONF_6LR
91 #if GNRC_IPV6_NIB_CONF_6LBR
92 #define GNRC_IPV6_NIB_CONF_6LR (1)
93 #else
94 #define GNRC_IPV6_NIB_CONF_6LR (0)
95 #endif
96 #endif
97 
101 #ifndef GNRC_IPV6_NIB_CONF_6LN
102 #if GNRC_IPV6_NIB_CONF_6LR
103 #define GNRC_IPV6_NIB_CONF_6LN (1)
104 #else
105 #define GNRC_IPV6_NIB_CONF_6LN (0)
106 #endif
107 #endif
108 
112 #ifndef GNRC_IPV6_NIB_CONF_ROUTER
113 #if GNRC_IPV6_NIB_CONF_6LR
114 #define GNRC_IPV6_NIB_CONF_ROUTER (1)
115 #else
116 #define GNRC_IPV6_NIB_CONF_ROUTER (0)
117 #endif
118 #endif
119 
123 #ifndef GNRC_IPV6_NIB_CONF_ADV_ROUTER
124 #if GNRC_IPV6_NIB_CONF_ROUTER && \
125  (!GNRC_IPV6_NIB_CONF_6LR || GNRC_IPV6_NIB_CONF_6LBR)
126 #define GNRC_IPV6_NIB_CONF_ADV_ROUTER (1)
127 #else
128 #define GNRC_IPV6_NIB_CONF_ADV_ROUTER (0)
129 #endif
130 #endif
131 
135 #ifndef GNRC_IPV6_NIB_CONF_ARSM
136 #define GNRC_IPV6_NIB_CONF_ARSM (1)
137 #endif
138 
142 #ifndef GNRC_IPV6_NIB_CONF_QUEUE_PKT
143 #if GNRC_IPV6_NIB_CONF_6LN
144 #define GNRC_IPV6_NIB_CONF_QUEUE_PKT (0)
145 #else
146 #define GNRC_IPV6_NIB_CONF_QUEUE_PKT (1)
147 #endif
148 #endif
149 
156 #ifndef GNRC_IPV6_NIB_CONF_SLAAC
157 #define GNRC_IPV6_NIB_CONF_SLAAC (1)
158 #endif
159 
163 #ifndef GNRC_IPV6_NIB_CONF_REDIRECT
164 #define GNRC_IPV6_NIB_CONF_REDIRECT (0)
165 #endif
166 
170 #ifndef GNRC_IPV6_NIB_CONF_DC
171 #if GNRC_IPV6_NIB_CONF_REDIRECT
172 #define GNRC_IPV6_NIB_CONF_DC (1)
173 #else
174 #define GNRC_IPV6_NIB_CONF_DC (0)
175 #endif
176 #endif
177 
183 #ifndef GNRC_IPV6_NIB_CONF_DNS
184 #define GNRC_IPV6_NIB_CONF_DNS (0)
185 #endif
186 
192 #ifndef GNRC_IPV6_NIB_CONF_MULTIHOP_P6C
193 #if GNRC_IPV6_NIB_CONF_6LR
194 #define GNRC_IPV6_NIB_CONF_MULTIHOP_P6C (1)
195 #else
196 #define GNRC_IPV6_NIB_CONF_MULTIHOP_P6C (0)
197 #endif
198 #endif
199 
205 #ifndef GNRC_IPV6_NIB_CONF_MULTIHOP_DAD
206 #define GNRC_IPV6_NIB_CONF_MULTIHOP_DAD (0)
207 #endif
208 
215 #ifndef GNRC_IPV6_NIB_CONF_REACH_TIME_RESET
216 #define GNRC_IPV6_NIB_CONF_REACH_TIME_RESET (7200000U)
217 #endif
218 
224 #ifndef GNRC_IPV6_NIB_CONF_NO_RTR_SOL
225 #define GNRC_IPV6_NIB_CONF_NO_RTR_SOL (0)
226 #endif
227 
231 #ifndef GNRC_IPV6_NIB_L2ADDR_MAX_LEN
232 #define GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
233 #endif
234 
241 #ifndef GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
242 #define GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
243 #endif
244 
251 #ifndef GNRC_IPV6_NIB_NUMOF
252 #define GNRC_IPV6_NIB_NUMOF (4)
253 #endif
254 
261 #ifndef GNRC_IPV6_NIB_OFFL_NUMOF
262 #define GNRC_IPV6_NIB_OFFL_NUMOF (8)
263 #endif
264 
265 #if GNRC_IPV6_NIB_CONF_MULTIHOP_P6C || defined(DOXYGEN)
266 
269 #ifndef GNRC_IPV6_NIB_ABR_NUMOF
270 #define GNRC_IPV6_NIB_ABR_NUMOF (1)
271 #endif
272 #endif
273 
274 #ifdef __cplusplus
275 }
276 #endif
277 
278 #endif /* NET_GNRC_IPV6_NIB_CONF_H */
279