gnrc/netif/ipv6.h

IPv6 defintions for Network interface API.

GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_MASK

Mask for the address’ state.

1
(0x1fU)
GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_TENTATIVE

Tentative states (with encoded DAD retransmissions)

1
(0x07U)

The retransmissions of DAD transmits can be decoded from this state by applying it as a mask to the [flags](gnrc/netif/ipv6.h::gnrc_netif_ipv6_t::addrs_flags) of the address.

GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_DEPRECATED

Deprecated address state (still valid, but not preferred)

1
(0x08U)
GNRC_NETIF_IPV6_ADDRS_FLAGS_STATE_VALID

Valid address state.

1
(0x10U)
GNRC_NETIF_IPV6_ADDRS_FLAGS_ANYCAST

Address is an anycast address.

1
(0x20U)
struct gnrc_netif_ipv6_t

IPv6 component for gnrc_netif_t.

Note

only available with IPv6.

uint8_t addrs_flags()

Flags for gnrc_netif_t::ipv6_addrs.

See also

net_gnrc_netif_ipv6_addrs_flags

Note

Only available with module gnrc_ipv6.

ipv6_addr_t addrs()

IPv6 unicast and anycast addresses of the interface.

Note

Only available with module gnrc_ipv6.

ipv6_addr_t groups()

IPv6 multicast groups of the interface.

Note

Only available with module gnrc_ipv6.

void(* route_info_cb()

Route info callback.

This callback is called by the NIB to inform the routing protocol about state changes, route usages, missing routes etc.

The callback may be NULL if no such behavior is required by the routing protocol (or no routing protocol is present).

Parameters

type: of the route info.
ctx_addr:Context address of the route info.
ctx:Further context of the route info.

evtimer_msg_event_t snd_mc_ra

Event for nib.h::GNRC_IPV6_NIB_SND_MC_RA.

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ROUTER != 0

evtimer_msg_event_t recalc_reach_time

Event for nib.h::GNRC_IPV6_NIB_RECALC_REACH_TIME.

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ARSM != 0

evtimer_msg_event_t search_rtr

Event for nib.h::GNRC_IPV6_NIB_SEARCH_RTR.

Note

Only available with module gnrc_ipv6. and NIB

evtimer_msg_event_t addrs_timers()

Timers for address re-registration.

Note

Might also be usable in the later default SLAAC implementation for NS retransmission timers.

uint32_t last_ra

Timestamp in milliseconds of last unsolicited router advertisement.

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ROUTER != 0

uint32_t reach_time_base

Base for random reachable time calculation and advertised reachable time in ms (if flags.h::GNRC_NETIF_FLAGS_IPV6_RTR_ADV is set)

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ARSM != 0

uint32_t reach_time

Reachable time (in ms)

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ARSM != 0

uint32_t retrans_time

Retransmission time and advertised retransmission time (in ms)

Note

Only available with module gnrc_ipv6 and NIB

uint16_t rtr_ltime

(Advertised) Router lifetime (default 1800).

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ROUTER != 0

uint8_t ra_sent

number of unsolicited router advertisements sent

This only counts up to the first ndp.h::NDP_MAX_INIT_RA_NUMOF on interface initialization. The last ndp.h::NDP_MAX_FIN_RA_NUMOF of an advertising interface are counted from UINT8_MAX - ndp.h::NDP_MAX_FIN_RA_NUMOF + 1.

Note

Only available with module gnrc_ipv6. and NIB and if ipv6/nib/conf.h::GNRC_IPV6_NIB_CONF_ROUTER != 0

uint8_t rs_sent

number of unsolicited router solicitations scheduled

Note

Only available with module gnrc_ipv6 and NIB

uint8_t na_sent

number of unsolicited neighbor advertisements scheduled

Note

Only available with module gnrc_ipv6 and NIB

uint8_t aac_mode

IPv6 auto-address configuration mode.

Note

Only available with module gnrc_ipv6

uint16_t mtu

Maximum transmission unit (MTU) for IPv6 packets.

Note

Only available with module gnrc_ipv6.