Loading...
Searching...
No Matches
ipv6.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Martine Lenders <mlenders@inf.fu-berlin.de>
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
96
97#include "sched.h"
98#include "thread.h"
99
100#include "net/ipv6.h"
101#include "net/gnrc/ipv6/ext.h"
102#include "net/gnrc/ipv6/hdr.h"
103#include "net/gnrc/ipv6/nib.h"
104
105#ifdef MODULE_FIB
106#include "net/fib.h"
107#endif
108
109#ifdef __cplusplus
110extern "C" {
111#endif
112
126#ifndef GNRC_IPV6_STACK_SIZE
127#define GNRC_IPV6_STACK_SIZE ((THREAD_STACKSIZE_DEFAULT) - 64)
128#endif
129
133#ifndef GNRC_IPV6_PRIO
134#define GNRC_IPV6_PRIO (THREAD_PRIORITY_MAIN - 3)
135#endif
136
145#ifndef CONFIG_GNRC_IPV6_MSG_QUEUE_SIZE_EXP
146#define CONFIG_GNRC_IPV6_MSG_QUEUE_SIZE_EXP (3U)
147#endif
148
149#ifdef DOXYGEN
165#define CONFIG_GNRC_IPV6_STATIC_LLADDR
166#endif /* DOXYGEN */
168
187#ifndef CONFIG_GNRC_IPV6_STATIC_LLADDR_NETDEV_MASK
188#define CONFIG_GNRC_IPV6_STATIC_LLADDR_NETDEV_MASK 0ULL
189#endif
190
194#ifndef GNRC_IPV6_MSG_QUEUE_SIZE
195#define GNRC_IPV6_MSG_QUEUE_SIZE (1 << CONFIG_GNRC_IPV6_MSG_QUEUE_SIZE_EXP)
196#endif
197
207
208#ifdef MODULE_FIB
209
213#ifndef GNRC_IPV6_FIB_TABLE_SIZE
214# ifdef MODULE_GNRC_RPL
215# define GNRC_IPV6_FIB_TABLE_SIZE (20)
216# else
217# define GNRC_IPV6_FIB_TABLE_SIZE (5)
218# endif
219#endif
220
226extern fib_table_t gnrc_ipv6_fib_table;
227#endif
228
238
253
254#ifdef __cplusplus
255}
256#endif
257
Types and functions for FIB.
Definititions for IPv6 extension headers.
int16_t kernel_pid_t
Unique process identifier.
Definition sched.h:138
kernel_pid_t gnrc_ipv6_init(void)
Initialization of the IPv6 thread.
ipv6_hdr_t * gnrc_ipv6_get_header(gnrc_pktsnip_t *pkt)
Get the IPv6 header from a given list of gnrc_pktsnip_t.
kernel_pid_t gnrc_ipv6_pid
The PID to the IPv6 thread.
struct gnrc_pktsnip gnrc_pktsnip_t
Type to represent parts (either headers or payload) of a packet, called snips.
IPv6 include gathering header.
IPv6 header.
NIB definitions.
Meta information of a FIB table.
Definition table.h:104
Data type to represent an IPv6 packet header.
Definition hdr.h:63