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_NETIF_CONF_H
21#define NET_GNRC_NETIF_CONF_H
22
23#include "modules.h"
24
25#include "net/dhcpv6/client.h"
26#include "net/ieee802154.h"
27#include "net/ethernet/hdr.h"
29#include "thread.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
38#ifndef GNRC_NETIF_PRIO
39#define GNRC_NETIF_PRIO (THREAD_PRIORITY_MAIN - 5)
40#endif
41
54#ifndef CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP
55#define CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP (4U)
56#endif
57
65#ifndef CONFIG_GNRC_NETIF_PKTQ_POOL_SIZE
66#define CONFIG_GNRC_NETIF_PKTQ_POOL_SIZE (16U)
67#endif
68
78#ifndef CONFIG_GNRC_NETIF_PKTQ_TIMER_US
79#define CONFIG_GNRC_NETIF_PKTQ_TIMER_US (5000U)
80#endif
81
87#ifdef MODULE_GNRC_RPL
88#define GNRC_NETIF_RPL_ADDR (1)
89#else
90#define GNRC_NETIF_RPL_ADDR (0)
91#endif
92
99#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_ROUTER)
100#define GNRC_NETIF_IPV6_RTR_ADDR (1)
101#else
102#define GNRC_NETIF_IPV6_RTR_ADDR (0)
103#endif
104
115#ifndef CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF
116#define CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF (2 + \
117 DHCPV6_CLIENT_ADDRS_NUMOF)
118#endif
119
126#ifndef GNRC_NETIF_IPV6_GROUPS_NUMOF
127#define GNRC_NETIF_IPV6_GROUPS_NUMOF (CONFIG_GNRC_NETIF_IPV6_ADDRS_NUMOF + \
128 GNRC_NETIF_RPL_ADDR + \
129 GNRC_NETIF_IPV6_RTR_ADDR + 1)
130#endif
131
148#ifndef GNRC_NETIF_L2ADDR_MAXLEN
149#if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_XBEE) || defined(MODULE_SLIPDEV_L2ADDR)
150#define GNRC_NETIF_L2ADDR_MAXLEN (IEEE802154_LONG_ADDRESS_LEN)
151#elif MODULE_NETDEV_ETH
152#define GNRC_NETIF_L2ADDR_MAXLEN (ETHERNET_ADDR_LEN)
153#elif MODULE_NRF24L01P
154#define GNRC_NETIF_L2ADDR_MAXLEN (5U)
155#elif MODULE_CC110X
156#define GNRC_NETIF_L2ADDR_MAXLEN (1U)
157#else
158#define GNRC_NETIF_L2ADDR_MAXLEN (CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN)
159#endif
160#endif
161
162#ifndef CONFIG_GNRC_NETIF_DEFAULT_HL
163#define CONFIG_GNRC_NETIF_DEFAULT_HL (64U)
164#endif
165
173#ifndef CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US
174#define CONFIG_GNRC_NETIF_MIN_WAIT_AFTER_SEND_US (0U)
175#endif
181#ifndef GNRC_NETIF_MSG_QUEUE_SIZE
182#define GNRC_NETIF_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_NETIF_MSG_QUEUE_SIZE_EXP)
183#endif
184
193#ifndef CONFIG_GNRC_NETIF_NONSTANDARD_6LO_MTU
194#define CONFIG_GNRC_NETIF_NONSTANDARD_6LO_MTU 0
195#endif
196
203#if !IS_ACTIVE(CONFIG_KCONFIG_USEMODULE_GNRC_NETIF)
204#ifndef CONFIG_GNRC_NETIF_IPV6_BR_AUTO_6CTX
205#define CONFIG_GNRC_NETIF_IPV6_BR_AUTO_6CTX 1
206#endif
207#endif
208
209#ifdef __cplusplus
210}
211#endif
212
213#endif /* NET_GNRC_NETIF_CONF_H */
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.