The friendly Operating System for the Internet of Things

General 6LoWPAN ND definitions. More...

Detailed Description

#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.


 Message type for next multicast router solicitation.
 Message type for next unicast router solicitation.
 Message type for removing 6LoWPAN contexts.
 Message type for authoritative border router timeout.
 Message type for address registration timeout.
 Registration lifetime in minutes for the address registration option. More...
Border router constants
 minimum delay between context change and stop of C=0 dissimination in seconds
Host constants
 replacement value (in seconds) for GNRC_NDP_MAX_RTR_SOL_INT
 retransmission increment for exponential backoff of subsequent RS
Router constants
 replacement value (in seconds) for GNRC_NDP_MIN_RTR_ADV_DELAY
 replacement value (in microseconds) for GNRC_NDP_MAX_RTR_ADV_DELAY
 Lifetime of a tentative address entry in seconds.
 6LoWPAN Multihop Hoplimit


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...