19#ifndef PRIV_NIB_ROUTER_H
20#define PRIV_NIB_ROUTER_H
25#include "net/gnrc/netif/internal.h"
30#include "_nib-internal.h"
36#if IS_ACTIVE(CONFIG_GNRC_IPV6_NIB_ROUTER) || defined(DOXYGEN)
71static inline void _call_route_info_cb(
gnrc_netif_t *netif,
unsigned type,
130#define _init_iface_router(netif) (void)netif
131#define _call_route_info_cb(netif, type, ctx_addr, ctx) (void)netif; \
135#define _handle_reply_rs(host) (void)host
136#define _handle_snd_mc_ra(netif) (void)netif
137#define _set_rtr_adv(netif) (void)netif
138#define _snd_rtr_advs(netif, dst, final) (void)netif; \
141#define _snd_rtr_advs_drop_pfx(netif, dst, pfx) (void)netif; \
#define assert(cond)
abort the program if assertion is false
#define GNRC_NETIF_FLAGS_IPV6_RTR_ADV
Network interface advertises itself as an IPv6 router (implies GNRC_NETIF_FLAGS_IPV6_FORWARDING to be...
#define GNRC_NETIF_FLAGS_6LO_ABR
This interface acts as a 6Lo border router to the LLN.
#define GNRC_NETIF_FLAGS_IPV6_FORWARDING
Network interface is enabled for IPv6 forwarding.
IPv6 definitions for Network interface API.
#define CONFIG_GNRC_IPV6_NIB_6LBR
enable features for 6Lo border router
#define CONFIG_GNRC_IPV6_NIB_ADV_ROUTER
activate router advertising at interface start-up
static void _init_iface_router(gnrc_netif_t *netif)
Initializes interface for router behavior.
#define NDP_RTR_LTIME_SEC
default of AdvDefaultLifetime (in sec)
Definitions for IPv6 addresses.
Configuration macro definitions for neighbor information base.
Common macros and compiler attributes/pragmas configuration.
#define IS_ACTIVE(macro)
Allows to verify a macro definition outside the preprocessor.
IPv6 neighbor discovery message type definitions.
uint8_t ra_sent
number of unsolicited router advertisements sent
uint16_t rtr_ltime
(Advertised) Router lifetime (default 1800).
uint32_t last_ra
Timestamp in milliseconds of last unsolicited router advertisement.
void(* route_info_cb)(unsigned type, const ipv6_addr_t *ctx_addr, const void *ctx)
Route info callback.
Representation of a network interface.
uint32_t flags
Flags for the interface.
gnrc_netif_ipv6_t ipv6
IPv6 component.
Data type to represent an IPv6 address.