6LoWPAN neighbor discovery

Neighbor Discovery Optimization for 6LoWPAN. More...

Detailed Description

Neighbor Discovery Optimization for 6LoWPAN.

See also
RFC 6775

Modules

 Border router part of 6LoWPAN-ND
 Border router part of 6LoWPAN-ND.
 

Files

file  gnrc/sixlowpan/nd.h
 General 6LoWPAN ND definitions.
 

Macros

#define GNRC_SIXLOWPAN_ND_AR_LTIME   (15U)
 Registration lifetime in minutes for the address registration option. More...
 

Functions

gnrc_pktsnip_tgnrc_sixlowpan_nd_opt_ar_build (uint8_t status, uint16_t ltime, eui64_t *eui64, gnrc_pktsnip_t *next)
 Builds the address registration option. More...
 
gnrc_pktsnip_tgnrc_sixlowpan_nd_opt_6ctx_build (uint8_t prefix_len, uint8_t flags, uint16_t ltime, ipv6_addr_t *prefix, gnrc_pktsnip_t *next)
 Builds the 6LoWPAN context option. More...
 
gnrc_pktsnip_tgnrc_sixlowpan_nd_opt_abr_build (uint32_t version, uint16_t ltime, ipv6_addr_t *braddr, gnrc_pktsnip_t *next)
 Builds the authoritative border router option. More...
 

Macro Definition Documentation

◆ GNRC_SIXLOWPAN_ND_AR_LTIME

#define GNRC_SIXLOWPAN_ND_AR_LTIME   (15U)

Registration lifetime in minutes for the address registration option.

This value should be adapted to the devices power-lifecycle so that it is greater than the time the device spends sleeping.

See also
RFC 6775, section 5.8.1

Definition at line 49 of file gnrc/sixlowpan/nd.h.

Function Documentation

◆ gnrc_sixlowpan_nd_opt_6ctx_build()

gnrc_pktsnip_t* gnrc_sixlowpan_nd_opt_6ctx_build ( uint8_t  prefix_len,
uint8_t  flags,
uint16_t  ltime,
ipv6_addr_t prefix,
gnrc_pktsnip_t next 
)

Builds the 6LoWPAN context option.

Parameters
[in]prefix_lenThe length of the context's prefix.
[in]flagsFlags + CID for the context.
[in]ltimeLifetime of the context.
[in]prefixThe context's prefix
[in]nextMore options in the packet. NULL, if there are none.
Returns
The pkt snip list of options, on success
NULL, if packet buffer is full or on error

◆ gnrc_sixlowpan_nd_opt_abr_build()

gnrc_pktsnip_t* gnrc_sixlowpan_nd_opt_abr_build ( uint32_t  version,
uint16_t  ltime,
ipv6_addr_t braddr,
gnrc_pktsnip_t next 
)

Builds the authoritative border router option.

Parameters
[in]versionVersion of the border router information.
[in]ltimeRegistration lifetime for the border router.
[in]braddrThe IPv6 address of the border router.
[in]nextMore options in the packet. NULL, if there are none.
Returns
The pkt snip list of options, on success
NULL, if packet buffer is full or on error

◆ gnrc_sixlowpan_nd_opt_ar_build()

gnrc_pktsnip_t* gnrc_sixlowpan_nd_opt_ar_build ( uint8_t  status,
uint16_t  ltime,
eui64_t eui64,
gnrc_pktsnip_t next 
)

Builds the address registration option.

Parameters
[in]statusStatus for the ARO.
[in]ltimeRegistration lifetime for the ARO.
[in]eui64The EUI-64 for the ARO
[in]nextMore options in the packet. NULL, if there are none.
Returns
The pkt snip list of options, on success
NULL, if packet buffer is full