mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
126 lines
3.3 KiB
C
126 lines
3.3 KiB
C
|
/*
|
||
|
* Copyright (C) 2017 Freie Universität Berlin
|
||
|
*
|
||
|
* This file is subject to the terms and conditions of the GNU Lesser
|
||
|
* General Public License v2.1. See the file LICENSE in the top level
|
||
|
* directory for more details.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @ingroup net_gnrc_netif2
|
||
|
* @{
|
||
|
*
|
||
|
* @file
|
||
|
* @brief Configuration macros for @ref net_gnrc_netif2
|
||
|
*
|
||
|
* @author Martine Lenders <mlenders@inf.fu-berlin.de>
|
||
|
*/
|
||
|
#ifndef NET_GNRC_NETIF2_CONF_H
|
||
|
#define NET_GNRC_NETIF2_CONF_H
|
||
|
|
||
|
#include "net/ieee802154.h"
|
||
|
#include "net/ethernet/hdr.h"
|
||
|
#include "thread.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Maximum number of network interfaces
|
||
|
*
|
||
|
* @note Intentionally not calling it `GNRC_NETIF2_NUMOF` to not require
|
||
|
* rewrites throughout the stack.
|
||
|
*/
|
||
|
#ifndef GNRC_NETIF_NUMOF
|
||
|
#define GNRC_NETIF_NUMOF (1)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Default priority for network interface threads
|
||
|
*/
|
||
|
#ifndef GNRC_NETIF2_PRIO
|
||
|
#define GNRC_NETIF2_PRIO (THREAD_PRIORITY_MAIN - 5)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Number of multicast addresses needed for @ref net_gnrc_rpl "RPL".
|
||
|
*
|
||
|
* @note Used for calculation of @ref GNRC_NETIF2_IPV6_GROUPS_NUMOF
|
||
|
*/
|
||
|
#ifdef MODULE_GNRC_RPL
|
||
|
#define GNRC_NETIF2_RPL_ADDR (1)
|
||
|
#else
|
||
|
#define GNRC_NETIF2_RPL_ADDR (0)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Number of multicast addresses needed for a @ref net_gnrc_ipv6 "IPv6"
|
||
|
* router
|
||
|
*
|
||
|
* @note Used for calculation of @ref GNRC_NETIF2_IPV6_GROUPS_NUMOF
|
||
|
*/
|
||
|
#ifdef MODULE_GNRC_IPV6_ROUTER
|
||
|
#define GNRC_NETIF2_IPV6_RTR_ADDR (1)
|
||
|
#else
|
||
|
#define GNRC_NETIF2_IPV6_RTR_ADDR (0)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Maximum number of unicast and anycast addresses per interface
|
||
|
*
|
||
|
* Default: 2 (link-local + corresponding global address)
|
||
|
*/
|
||
|
#ifndef GNRC_NETIF2_IPV6_ADDRS_NUMOF
|
||
|
#define GNRC_NETIF2_IPV6_ADDRS_NUMOF (2)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Maximum number of multicast groups per interface
|
||
|
*
|
||
|
* Default: 2 (all-nodes + solicited-nodes of link-local and global unicast
|
||
|
* address) + @ref GNRC_NETIF2_RPL_ADDR + @ref GNRC_NETIF2_IPV6_RTR_ADDR
|
||
|
*/
|
||
|
#ifndef GNRC_NETIF2_IPV6_GROUPS_NUMOF
|
||
|
#define GNRC_NETIF2_IPV6_GROUPS_NUMOF (2 + GNRC_NETIF2_RPL_ADDR + GNRC_NETIF2_IPV6_RTR_ADDR)
|
||
|
#endif
|
||
|
|
||
|
/**
|
||
|
* @brief Maximum length of the link-layer address.
|
||
|
*
|
||
|
* The value for the maximum length of a link-layer address is dependent
|
||
|
* on the @ref drivers_netdev_api "netdev" adapters compiled in:
|
||
|
* - Setting it via `CFLAGS` has the most precedence.
|
||
|
* - The default is 8.
|
||
|
* - 1, if only @ref drivers_cc110x devices are compiled in.
|
||
|
* - @ref ETHERNET_ADDR_LEN, if additionally (or only) ethernet devices are
|
||
|
* compiled in.
|
||
|
* - @ref IEEE802154_LONG_ADDRESS_LEN, if additionally (or only) IEEE802.15.4
|
||
|
* devices are compiled in.
|
||
|
*
|
||
|
* @note Implementers note: From longest to shortest extend, if new link-layer
|
||
|
* address types are included
|
||
|
*/
|
||
|
#ifndef GNRC_NETIF2_L2ADDR_MAXLEN
|
||
|
#if defined(MODULE_NETDEV_IEEE802154) || defined(MODULE_XBEE)
|
||
|
#define GNRC_NETIF2_L2ADDR_MAXLEN (IEEE802154_LONG_ADDRESS_LEN)
|
||
|
#elif MODULE_NETDEV_ETH
|
||
|
#define GNRC_NETIF2_L2ADDR_MAXLEN (ETHERNET_ADDR_LEN)
|
||
|
#elif MODULE_CC110X
|
||
|
#define GNRC_NETIF2_L2ADDR_MAXLEN (1U)
|
||
|
#else
|
||
|
#define GNRC_NETIF2_L2ADDR_MAXLEN (8U)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifndef GNRC_NETIF2_DEFAULT_HL
|
||
|
#define GNRC_NETIF2_DEFAULT_HL (64U) /**< default hop limit */
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* NET_GNRC_NETIF2_CONF_H */
|
||
|
/** @} */
|