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

Definitions related to 6Lo node (6LN) functionality of the NIB. More...

Detailed Description

Definitions related to 6Lo node (6LN) functionality of the NIB.

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

Definition in file _nib-6ln.h.

#include <kernel_defines.h>
#include <stdint.h>
#include "net/gnrc/ipv6/nib/conf.h"
#include "net/sixlowpan/nd.h"
#include "timex.h"
#include "evtimer.h"
#include "_nib-arsm.h"
#include "_nib-internal.h"
+ Include dependency graph for _nib-6ln.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

#define _ADDR_REG_STATUS_TENTATIVE   (3)
 Additional (local) status to ARO status values for tentative addresses.
 
#define _ADDR_REG_STATUS_IGNORE   (4)
 Additional (local) status to ARO status values for return values to signify that the address was ignored.
 
#define _ADDR_REG_STATUS_UNAVAIL   (255)
 Additional (local) status to ARO status values to signify that ARO is not available in NA.
 
bool _resolve_addr_from_ipv6 (const ipv6_addr_t *dst, gnrc_netif_t *netif, gnrc_ipv6_nib_nc_t *nce)
 Resolves address statically from destination address using reverse translation of the IID.
 
static uint32_t _get_next_rs_interval (const gnrc_netif_t *netif)
 Calculates exponential backoff for RS retransmissions.
 
uint8_t _handle_aro (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)
 Handles ARO.
 
void _handle_rereg_address (const ipv6_addr_t *addr)
 Handler for GNRC_IPV6_NIB_REREG_ADDRESS event handler.
 
_nib_abr_entry_t_handle_abro (const sixlowpan_nd_opt_abr_t *abro)
 
uint32_t _handle_6co (const icmpv6_hdr_t *icmpv6, const sixlowpan_nd_opt_6ctx_t *sixco, _nib_abr_entry_t *abr)
 

Macro Definition Documentation

◆ _ADDR_REG_STATUS_IGNORE

#define _ADDR_REG_STATUS_IGNORE   (4)

Additional (local) status to ARO status values for return values to signify that the address was ignored.

Definition at line 47 of file _nib-6ln.h.

◆ _ADDR_REG_STATUS_TENTATIVE

#define _ADDR_REG_STATUS_TENTATIVE   (3)

Additional (local) status to ARO status values for tentative addresses.

Definition at line 41 of file _nib-6ln.h.

◆ _ADDR_REG_STATUS_UNAVAIL

#define _ADDR_REG_STATUS_UNAVAIL   (255)

Additional (local) status to ARO status values to signify that ARO is not available in NA.

Can be assigned to the variable that receives the return value of _handle_aro(), so that the case that an NA does not contain an ARO (e.g. because upstream router does not support it) can be dealt with.

Definition at line 57 of file _nib-6ln.h.

Function Documentation

◆ _get_next_rs_interval()

static uint32_t _get_next_rs_interval ( const gnrc_netif_t * netif)
inlinestatic

Calculates exponential backoff for RS retransmissions.

See also
RFC 6775, section 5.3
Parameters
[in]netifThe network interface that the RS will be sent over.
Returns
The interval in ms to the next RS

Definition at line 82 of file _nib-6ln.h.

◆ _handle_aro()

uint8_t _handle_aro ( 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 )

Handles ARO.

Parameters
[in]netifThe interface the ARO-carrying message came over.
[in]ipv6The IPv6 header of the message carrying the ARO.
[in]icmpv6The message carrying the ARO.
[in]aroARO that carries the address registration information.
[in]sl2aoSL2AO associated with the ARO.
[in]nceNeighbor cache entry the ARO is supposed to change.
Returns
registration status of the address (including _ADDR_REG_STATUS_TENTATIVE and _ADDR_REG_STATUS_IGNORE).

◆ _handle_rereg_address()

void _handle_rereg_address ( const ipv6_addr_t * addr)

Handler for GNRC_IPV6_NIB_REREG_ADDRESS event handler.

Parameters
[in]addrAn IPv6 address.

◆ _resolve_addr_from_ipv6()

bool _resolve_addr_from_ipv6 ( const ipv6_addr_t * dst,
gnrc_netif_t * netif,
gnrc_ipv6_nib_nc_t * nce )

Resolves address statically from destination address using reverse translation of the IID.

Parameters
[in]dstA destination address.
[in]netifThe interface to dst.
[out]nceNeighbor cache entry to resolve into
Returns
true when nce was set, false when not.