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 #include "modules.h"
21 
22 #include "net/dhcpv6/client.h"
23 #include "net/ieee802154.h"
24 #include "net/ethernet/hdr.h"
25 #include "net/gnrc/ipv6/nib/conf.h"
26 #include "thread.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
35 #ifndef GNRC_NETIF_PRIO
36 #define GNRC_NETIF_PRIO (THREAD_PRIORITY_MAIN - 5)
37 #endif
38 
51 #ifndef CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP
52 #define CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP (4U)
53 #endif
54 
62 #ifndef CONFIG_GNRC_NETIF_PKTQ_POOL_SIZE
63 #define CONFIG_GNRC_NETIF_PKTQ_POOL_SIZE (16U)
64 #endif
65 
75 #ifndef CONFIG_GNRC_NETIF_PKTQ_TIMER_US
76 #define CONFIG_GNRC_NETIF_PKTQ_TIMER_US (5000U)
77 #endif
78 
84 #ifdef MODULE_GNRC_RPL
85 #define GNRC_NETIF_RPL_ADDR (1)
86 #else
87 #define GNRC_NETIF_RPL_ADDR (0)
88 #endif
89 
96 #if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_ROUTER)
97 #define GNRC_NETIF_IPV6_RTR_ADDR (1)
98 #else
99 #define GNRC_NETIF_IPV6_RTR_ADDR (0)
100 #endif
101 
112 #ifndef CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF
113 #define CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF (2 + \
114  DHCPV6_CLIENT_ADDRS_NUMOF)
115 #endif
116 
123 #ifndef GNRC_NETIF_IPV6_GROUPS_NUMOF
124 #define GNRC_NETIF_IPV6_GROUPS_NUMOF (CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF + \
125  GNRC_NETIF_RPL_ADDR + \
126  GNRC_NETIF_IPV6_RTR_ADDR + 1)
127 #endif
128 
145 #ifndef GNRC_NETIF_L2ADDR_MAXLEN
146 #if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_XBEE) || defined(MODULE_SLIPDEV_L2ADDR)
147 #define GNRC_NETIF_L2ADDR_MAXLEN (IEEE802154_LONG_ADDRESS_LEN)
148 #elif MODULE_NETDEV_ETH
149 #define GNRC_NETIF_L2ADDR_MAXLEN (ETHERNET_ADDR_LEN)
150 #elif MODULE_NRF24L01P
151 #define GNRC_NETIF_L2ADDR_MAXLEN (5U)
152 #elif MODULE_CC110X
153 #define GNRC_NETIF_L2ADDR_MAXLEN (1U)
154 #else
155 #define GNRC_NETIF_L2ADDR_MAXLEN (CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN)
156 #endif
157 #endif
158 
159 #ifndef CONFIG_GNRC_NETIF_DEFAULT_HL
160 #define CONFIG_GNRC_NETIF_DEFAULT_HL (64U)
161 #endif
162 
170 #ifndef CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US
171 #define CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US (0U)
172 #endif
178 #ifndef GNRC_NETIF_MSG_QUEUE_SIZE
179 #define GNRC_NETIF_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP)
180 #endif
181 
190 #ifndef CONFIG_GNRC_NETIF_NONSTANDARD_6LO_MTU
191 #define CONFIG_GNRC_NETIF_NONSTANDARD_6LO_MTU 0
192 #endif
193 
200 #if !IS_ACTIVE(CONFIG_KCONFIG_USEMODULE_GNRC_NETIF)
201 #ifndef CONFIG_GNRC_NETIF_IPV6_BR_AUTO_6CTX
202 #define CONFIG_GNRC_NETIF_IPV6_BR_AUTO_6CTX 1
203 #endif
204 #endif
205 
206 #ifdef __cplusplus
207 }
208 #endif
DHCPv6 client definitions.
Configuration macro definitions for neighbor information base.
Common macros and compiler attributes/pragmas configuration.
Ethernet header definitions.
IEEE 802.15.4 header definitions.