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 
79 #ifndef GNRC_IPV6_NIB_CONF_6LBR
80 #define GNRC_IPV6_NIB_CONF_6LBR (0)
81 #endif
82 
86 #ifndef GNRC_IPV6_NIB_CONF_6LR
87 #if GNRC_IPV6_NIB_CONF_6LBR
88 #define GNRC_IPV6_NIB_CONF_6LR (1)
89 #else
90 #define GNRC_IPV6_NIB_CONF_6LR (0)
91 #endif
92 #endif
93 
97 #ifndef GNRC_IPV6_NIB_CONF_6LN
98 #if GNRC_IPV6_NIB_CONF_6LR
99 #define GNRC_IPV6_NIB_CONF_6LN (1)
100 #else
101 #define GNRC_IPV6_NIB_CONF_6LN (0)
102 #endif
103 #endif
104 
108 #ifndef GNRC_IPV6_NIB_CONF_ROUTER
109 #if GNRC_IPV6_NIB_CONF_6LR
110 #define GNRC_IPV6_NIB_CONF_ROUTER (1)
111 #else
112 #define GNRC_IPV6_NIB_CONF_ROUTER (0)
113 #endif
114 #endif
115 
119 #ifndef GNRC_IPV6_NIB_CONF_ADV_ROUTER
120 #if GNRC_IPV6_NIB_CONF_ROUTER && \
121  (!GNRC_IPV6_NIB_CONF_6LR || GNRC_IPV6_NIB_CONF_6LBR)
122 #define GNRC_IPV6_NIB_CONF_ADV_ROUTER (1)
123 #else
124 #define GNRC_IPV6_NIB_CONF_ADV_ROUTER (0)
125 #endif
126 #endif
127 
131 #ifndef GNRC_IPV6_NIB_CONF_ARSM
132 #define GNRC_IPV6_NIB_CONF_ARSM (1)
133 #endif
134 
138 #ifndef GNRC_IPV6_NIB_CONF_QUEUE_PKT
139 #if GNRC_IPV6_NIB_CONF_6LN
140 #define GNRC_IPV6_NIB_CONF_QUEUE_PKT (0)
141 #else
142 #define GNRC_IPV6_NIB_CONF_QUEUE_PKT (1)
143 #endif
144 #endif
145 
152 #ifndef GNRC_IPV6_NIB_CONF_SLAAC
153 #define GNRC_IPV6_NIB_CONF_SLAAC (1)
154 #endif
155 
159 #ifndef GNRC_IPV6_NIB_CONF_REDIRECT
160 #define GNRC_IPV6_NIB_CONF_REDIRECT (0)
161 #endif
162 
166 #ifndef GNRC_IPV6_NIB_CONF_DC
167 #if GNRC_IPV6_NIB_CONF_REDIRECT
168 #define GNRC_IPV6_NIB_CONF_DC (1)
169 #else
170 #define GNRC_IPV6_NIB_CONF_DC (0)
171 #endif
172 #endif
173 
179 #ifndef GNRC_IPV6_NIB_CONF_MULTIHOP_P6C
180 #if GNRC_IPV6_NIB_CONF_6LN
181 #define GNRC_IPV6_NIB_CONF_MULTIHOP_P6C (1)
182 #else
183 #define GNRC_IPV6_NIB_CONF_MULTIHOP_P6C (0)
184 #endif
185 #endif
186 
192 #ifndef GNRC_IPV6_NIB_CONF_MULTIHOP_DAD
193 #define GNRC_IPV6_NIB_CONF_MULTIHOP_DAD (0)
194 #endif
195 
202 #ifndef GNRC_IPV6_NIB_CONF_REACH_TIME_RESET
203 #define GNRC_IPV6_NIB_CONF_REACH_TIME_RESET (7200000U)
204 #endif
205 
209 #ifndef GNRC_IPV6_NIB_L2ADDR_MAX_LEN
210 #define GNRC_IPV6_NIB_L2ADDR_MAX_LEN (8U)
211 #endif
212 
219 #ifndef GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF
220 #define GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF (1)
221 #endif
222 
229 #ifndef GNRC_IPV6_NIB_NUMOF
230 #define GNRC_IPV6_NIB_NUMOF (4)
231 #endif
232 
239 #ifndef GNRC_IPV6_NIB_OFFL_NUMOF
240 #define GNRC_IPV6_NIB_OFFL_NUMOF (8)
241 #endif
242 
243 #if GNRC_IPV6_NIB_CONF_MULTIHOP_P6C || defined(DOXYGEN)
244 
247 #ifndef GNRC_IPV6_NIB_ABR_NUMOF
248 #define GNRC_IPV6_NIB_ABR_NUMOF (1)
249 #endif
250 #endif
251 
252 #ifdef __cplusplus
253 }
254 #endif
255 
256 #endif /* NET_GNRC_IPV6_NIB_CONF_H */
257