25#ifndef NET_GNRC_IPV6_NIB_H
26#define NET_GNRC_IPV6_NIB_H
57#define GNRC_IPV6_NIB_SND_UC_NS (0x4fc0U)
68#define GNRC_IPV6_NIB_SND_MC_NS (0x4fc1U)
78#define GNRC_IPV6_NIB_SND_NA (0x4fc2U)
88#define GNRC_IPV6_NIB_SEARCH_RTR (0x4fc3U)
100#define GNRC_IPV6_NIB_REPLY_RS (0x4fc5U)
112#define GNRC_IPV6_NIB_SND_MC_RA (0x4fc6U)
123#define GNRC_IPV6_NIB_REACH_TIMEOUT (0x4fc7U)
134#define GNRC_IPV6_NIB_DELAY_TIMEOUT (0x4fc8U)
145#define GNRC_IPV6_NIB_ADDR_REG_TIMEOUT (0x4fc9U)
156#define GNRC_IPV6_NIB_ABR_TIMEOUT (0x4fcbU)
164#define GNRC_IPV6_NIB_PFX_TIMEOUT (0x4fccU)
172#define GNRC_IPV6_NIB_RTR_TIMEOUT (0x4fcdU)
183#define GNRC_IPV6_NIB_RECALC_REACH_TIME (0x4fceU)
194#define GNRC_IPV6_NIB_REREG_ADDRESS (0x4fcfU)
204#define GNRC_IPV6_NIB_ROUTE_TIMEOUT (0x4fd0U)
214#define GNRC_IPV6_NIB_DAD (0x4fd1U)
224#define GNRC_IPV6_NIB_VALID_ADDR (0x4fd2U)
235#define GNRC_IPV6_NIB_RDNSS_TIMEOUT (0x4fd3U)
240#define GNRC_IPV6_NIB_IFACE_UP (0x4fd4U)
245#define GNRC_IPV6_NIB_IFACE_DOWN (0x4fd5U)
413#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_ROUTER) || defined(DOXYGEN)
428#define gnrc_ipv6_nib_change_rtr_adv_iface(netif, enable) \
429 (void)netif; (void)enable
Authoritative border router list definitions.
Forwarding table definitions.
Definition for GNRC's network interfaces.
void gnrc_ipv6_nib_iface_up(gnrc_netif_t *netif)
Call bring-up functions when the interface comes online.
int gnrc_ipv6_nib_get_next_hop_l2addr(const ipv6_addr_t *dst, gnrc_netif_t *netif, gnrc_pktsnip_t *pkt, gnrc_ipv6_nib_nc_t *nce)
Gets link-layer address of next hop to a destination address.
void gnrc_ipv6_nib_handle_pkt(gnrc_netif_t *netif, const ipv6_hdr_t *ipv6, const icmpv6_hdr_t *icmpv6, size_t icmpv6_len)
Handles a received ICMPv6 packet.
void gnrc_ipv6_nib_iface_down(gnrc_netif_t *netif, bool send_final_ra)
Clean up when the interface goes offline.
void gnrc_ipv6_nib_handle_timer_event(void *ctx, uint16_t type)
Handles a timer event.
void gnrc_ipv6_nib_init(void)
Initialize NIB.
void gnrc_ipv6_nib_change_rtr_adv_iface(gnrc_netif_t *netif, bool enable)
Changes the state if an interface advertises itself as a router or not.
void gnrc_ipv6_nib_init_iface(gnrc_netif_t *netif)
Adds an interface to be managed by the NIB.
@ GNRC_IPV6_NIB_ROUTE_INFO_TYPE_UNDEF
undefined
@ GNRC_IPV6_NIB_ROUTE_INFO_TYPE_NSC
neighbor state change
@ GNRC_IPV6_NIB_ROUTE_INFO_TYPE_RN
route notification
@ GNRC_IPV6_NIB_ROUTE_INFO_TYPE_RRQ
reactive routing query
ICMPv6 type and function definitions.
Definitions for IPv6 addresses.
Neighbor cache definitions.
General definitions for network packets and their helper functions.
IPv6 header type and helper function definitions.
Neighbor cache entry view on NIB.
Representation of a network interface.
Type to represent parts (either headers or payload) of a packet, called snips.
General ICMPv6 message format.
Data type to represent an IPv6 packet header.
Data type to represent an IPv6 address.