Loading...
Searching...
No Matches
_nib-slaac.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 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
21#ifndef PRIV_NIB_SLAAC_H
22#define PRIV_NIB_SLAAC_H
23
24#include <kernel_defines.h>
25#include <stdint.h>
26
28#include "net/gnrc/netif.h"
29#include "net/ipv6/addr.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_6LN) || IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_SLAAC) || defined(DOXYGEN)
44 uint8_t pfx_len);
45#else /* CONFIG_GNRC_IPV6_NIB_6LN || CONFIG_GNRC_IPV6_NIB_SLAAC */
46#define _auto_configure_addr(netif, pfx, pfx_len) \
47 (void)netif; (void)pfx; (void)pfx_len;
48#endif /* CONFIG_GNRC_IPV6_NIB_6LN || CONFIG_GNRC_IPV6_NIB_SLAAC */
49#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_SLAAC) || defined(DOXYGEN)
58
64void _handle_dad(const ipv6_addr_t *addr);
65
72#else /* CONFIG_GNRC_IPV6_NIB_SLAAC */
73#define _remove_tentative_addr(netif, addr) \
74 (void)netif; (void)addr
75#define _handle_dad(addr) (void)addr
76#define _handle_valid_addr(addr) (void)addr
77#endif /* CONFIG_GNRC_IPV6_NIB_SLAAC */
78
79#ifdef __cplusplus
80}
81#endif
82
83#endif /* PRIV_NIB_SLAAC_H */
void _remove_tentative_addr(gnrc_netif_t *netif, const ipv6_addr_t *addr)
Removes a tentative address from the interface and tries to reconfigure a new address.
void _handle_valid_addr(const ipv6_addr_t *addr)
Handle GNRC_IPV6_NIB_VALID_ADDR event.
void _auto_configure_addr(gnrc_netif_t *netif, const ipv6_addr_t *pfx, uint8_t pfx_len)
Auto-configures an address from a given prefix.
void _handle_dad(const ipv6_addr_t *addr)
Handle GNRC_IPV6_NIB_DAD event.
Definition for GNRC's network interfaces.
Definitions for IPv6 addresses.
Configuration macro definitions for neighbor information base.
Common macros and compiler attributes/pragmas configuration.
Representation of a network interface.
Definition netif.h:135
Data type to represent an IPv6 address.
Definition addr.h:72