General 6LoWPAN ND definitions. More...

Detailed Description

General 6LoWPAN ND definitions.

Author
Martine Lenders mlend.nosp@m.ers@.nosp@m.inf.f.nosp@m.u-be.nosp@m.rlin..nosp@m.de

Definition in file gnrc/sixlowpan/nd.h.

#include <stdint.h>
#include "kernel_types.h"
#include "net/gnrc/ipv6/nc.h"
#include "net/gnrc/ipv6/netif.h"
#include "net/ipv6/addr.h"
#include "net/ndp.h"
#include "net/sixlowpan/nd.h"
#include "timex.h"
#include "net/gnrc/sixlowpan/nd/border_router.h"
#include "net/gnrc/sixlowpan/nd/router.h"
+ Include dependency graph for gnrc/sixlowpan/nd.h:

Go to the source code of this file.

Macros

#define GNRC_SIXLOWPAN_ND_MSG_MC_RTR_SOL   (0x0220)
 Message type for next multicast router solicitation.
 
#define GNRC_SIXLOWPAN_ND_MSG_UC_RTR_SOL   (0x0221)
 Message type for next unicast router solicitation.
 
#define GNRC_SIXLOWPAN_ND_MSG_DELETE_CTX   (0x0222)
 Message type for removing 6LoWPAN contexts.
 
#define GNRC_SIXLOWPAN_ND_MSG_ABR_TIMEOUT   (0x0223)
 Message type for authoritative border router timeout.
 
#define GNRC_SIXLOWPAN_ND_MSG_AR_TIMEOUT   (0x0224)
 Message type for address registration timeout.
 
#define GNRC_SIXLOWPAN_ND_AR_LTIME   (15U)
 Registration lifetime in minutes for the address registration option. More...
 
Border router constants
#define GNRC_SIXLOWPAN_ND_RTR_MIN_CTX_DELAY   (300U)
 minimum delay between context change and stop of C=0 dissimination in seconds
 
Host constants
#define GNRC_SIXLOWPAN_ND_RTR_SOL_INT   (10U)
 replacement value (in seconds) for GNRC_NDP_MAX_RTR_SOL_INT
 
#define GNRC_SIXLOWPAN_ND_MAX_RTR_SOL_INT   (60U)
 retransmission increment for exponential backoff of subsequent RS
 
Router constants
#define GNRC_SIXLOWPAN_ND_MIN_RTR_ADV_DELAY   (10U)
 replacement value (in seconds) for GNRC_NDP_MIN_RTR_ADV_DELAY
 
#define GNRC_SIXLOWPAN_ND_MAX_RTR_ADV_DELAY   (2U * US_PER_SEC)
 replacement value (in microseconds) for GNRC_NDP_MAX_RTR_ADV_DELAY
 
#define GNRC_SIXLOWPAN_ND_TENTATIVE_NCE_LIFETIME   (20U)
 Lifetime of a tentative address entry in seconds.
 
#define GNRC_SIXLOWPAN_ND_MULTIHOP_HOPLIMIT   (64U)
 6LoWPAN Multihop Hoplimit
 

Functions

void gnrc_sixlowpan_nd_init (gnrc_ipv6_netif_t *iface)
 Initializes 6LoWPAN neighbor discovery for the interface. More...
 
void gnrc_sixlowpan_nd_mc_rtr_sol (gnrc_ipv6_netif_t *iface)
 Multicasts a router solicitation over iface. More...
 
void gnrc_sixlowpan_nd_uc_rtr_sol (gnrc_ipv6_nc_t *nce)
 Unicasts a router solicitation to the neighbor represented by nce. More...
 
kernel_pid_t gnrc_sixlowpan_nd_next_hop_l2addr (uint8_t *l2addr, uint8_t *l2addr_len, kernel_pid_t iface, ipv6_addr_t *dst)
 Get link-layer address and interface for next hop to destination IPv6 address. More...
 
void gnrc_sixlowpan_nd_rtr_sol_reschedule (gnrc_ipv6_nc_t *nce, uint32_t sec_delay)
 Reschedules the next router advertisement for a neighboring router. More...
 
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...
 
uint8_t gnrc_sixlowpan_nd_opt_ar_handle (kernel_pid_t iface, ipv6_hdr_t *ipv6, uint8_t icmpv6_type, ipv6_addr_t *addr, sixlowpan_nd_opt_ar_t *ar_opt, uint8_t *sl2a, size_t sl2a_len)
 Handles address registration option. More...
 
bool gnrc_sixlowpan_nd_opt_6ctx_handle (uint8_t icmpv6_type, sixlowpan_nd_opt_6ctx_t *ctx_opt)
 Handles 6LoWPAN context option. More...
 
void gnrc_sixlowpan_nd_wakeup (void)
 Handles registration calls after node-wakeup. More...
 
void gnrc_sixlowpan_nd_opt_abr_handle (kernel_pid_t iface, ndp_rtr_adv_t *rtr_adv, int icmpv6_size, sixlowpan_nd_opt_abr_t *abr_opt)
 Handles authoritative border router 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...