_nib-6lr.h

Definitions related to 6Lo router (6LR) functionality of the NIB.

uint16_t _get_ar_state(const _nib_onl_entry_t * entry)

Gets address registration state of a neighbor.

Parameters

entry:Neighbor cache entry representing the neighbor.

Return values

  • Address registration state of the entry.
void _set_ar_state(_nib_onl_entry_t * entry, uint16_t state)

Sets address registration state of a neighbor.

Parameters

entry:Neighbor cache entry representing the neighbor.
state:Address registration state for the neighbor.

bool _rtr_sol_on_6lr(const gnrc_netif_t * netif, const icmpv6_hdr_t * icmpv6)

Checks if the received message is a router solicitation and the interface represents a 6Lo router.

See also

RFC 6775

Parameters

netif:A network interface.
icmpv6:An ICMPv6 message.

uint8_t _reg_addr_upstream(gnrc_netif_t * netif, const ipv6_hdr_t * ipv6, const icmpv6_hdr_t * icmpv6, const sixlowpan_nd_opt_ar_t * aro, const ndp_opt_t * sl2ao, _nib_onl_entry_t * nce)

Registers an address to the (upstream; in case of multihop DAD) router.

Parameters

netif:The interface the ARO-carrying NS came over.
ipv6:The IPv6 header of the message carrying the ARO.
icmpv6:The neighbor solicitation carrying the ARO (handed over as icmpv6_hdr_t, since it is just handed to the SL2AO handler function).
aro:ARO that carries the address registration information.
sl2ao:SL2AO associated with the ARO.
nce:The local neighbor cache entry the registration information is supposed to be copied into. May be NULL (this might create one).

Return values

  • registration status of the address (including _nib-6ln.h::_ADDR_REG_STATUS_TENTATIVE and _nib-6ln.h::_ADDR_REG_STATUS_IGNORE).
include/net/gnrc/pkt.h::gnrc_pktsnip_t * _copy_and_handle_aro(gnrc_netif_t * netif, const ipv6_hdr_t * ipv6, const ndp_nbr_sol_t * nbr_sol, const sixlowpan_nd_opt_ar_t * aro, const ndp_opt_t * sl2ao)

Handles and copies ARO from NS to NA.

Parameters

netif:The interface the ARO-carrying NS came over.
ipv6:The IPv6 header of the message carrying the original ARO.
nbr_sol:The neighbor solicitation carrying the original ARO (handed over as icmpv6_hdr_t, since it is just handed to _nib-6ln.h::_handle_aro()).
aro:The original ARO
sl2ao:SL2AO associated with the ARO.

Return values

  • registration status of the address (including _nib-6ln.h::_ADDR_REG_STATUS_TENTATIVE and _nib-6ln.h::_ADDR_REG_STATUS_IGNORE).
void _set_rtr_adv(gnrc_netif_t * netif)

Sets the flags.h::GNRC_NETIF_FLAGS_IPV6_RTR_ADV flags of an interface.

Parameters

netif:The interface.