All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches

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

Detailed Description

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

See also
CONFIG_GNRC_IPV6_NIB_6LR
Author
Martine Lenders m.len.nosp@m.ders.nosp@m.@fu-b.nosp@m.erli.nosp@m.n.de

Definition in file _nib-6lr.h.

#include <kernel_defines.h>
#include "net/gnrc/ipv6/nib/conf.h"
#include "net/ndp.h"
#include "net/sixlowpan/nd.h"
#include "_nib-arsm.h"
#include "_nib-6ln.h"
#include "_nib-internal.h"
+ Include dependency graph for _nib-6lr.h:

Go to the source code of this file.

static uint16_t _get_ar_state (const _nib_onl_entry_t *entry)
 Gets address registration state of a neighbor.
 
static void _set_ar_state (_nib_onl_entry_t *entry, uint16_t state)
 Sets address registration state of a neighbor.
 
static 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.
 
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.
 
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.
 

Function Documentation

◆ _copy_and_handle_aro()

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
[in]netifThe interface the ARO-carrying NS came over.
[in]ipv6The IPv6 header of the message carrying the original ARO.
[in]nbr_solThe neighbor solicitation carrying the original ARO (handed over as icmpv6_hdr_t, since it is just handed to _handle_aro()).
[in]aroThe original ARO, must not be NULL
[in]sl2aoSL2AO associated with the ARO.
Returns
registration status of the address (including _ADDR_REG_STATUS_TENTATIVE and _ADDR_REG_STATUS_IGNORE).

◆ _get_ar_state()

static uint16_t _get_ar_state ( const _nib_onl_entry_t * entry)
inlinestatic

Gets address registration state of a neighbor.

Parameters
[in]entryNeighbor cache entry representing the neighbor.
Returns
Address registration state of the entry.

Definition at line 44 of file _nib-6lr.h.

◆ _reg_addr_upstream()

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
[in]netifThe interface the ARO-carrying NS came over.
[in]ipv6The IPv6 header of the message carrying the ARO.
[in]icmpv6The neighbor solicitation carrying the ARO (handed over as icmpv6_hdr_t, since it is just handed to the SL2AO handler function).
[in]aroARO that carries the address registration information.
[in]sl2aoSL2AO associated with the ARO.
[in]nceThe local neighbor cache entry the registration information is supposed to be copied into. May be NULL (this might create one).
Returns
registration status of the address (including _ADDR_REG_STATUS_TENTATIVE and _ADDR_REG_STATUS_IGNORE).

◆ _rtr_sol_on_6lr()

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

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

See also
RFC 6775
Parameters
[in]netifA network interface.
[in]icmpv6An ICMPv6 message.

Definition at line 70 of file _nib-6lr.h.

◆ _set_ar_state()

static void _set_ar_state ( _nib_onl_entry_t * entry,
uint16_t state )
inlinestatic

Sets address registration state of a neighbor.

Parameters
[in]entryNeighbor cache entry representing the neighbor.
[in]stateAddress registration state for the neighbor.

Definition at line 55 of file _nib-6lr.h.