47 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_MASK            (0x0007) 
   52 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_UNMANAGED       (0x0000) 
   57 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_UNREACHABLE     (0x0001) 
   62 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_INCOMPLETE      (0x0002) 
   67 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_STALE           (0x0003) 
   72 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_DELAY           (0x0004) 
   77 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_PROBE           (0x0005) 
   82 #define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_REACHABLE       (0x0006) 
   94 #define GNRC_IPV6_NIB_NC_INFO_IS_ROUTER                 (0x0008) 
   99 #define GNRC_IPV6_NIB_NC_INFO_IFACE_MASK                (0x01f0) 
  104 #define GNRC_IPV6_NIB_NC_INFO_IFACE_POS                 (4) 
  111 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_MASK             (0x0600) 
  116 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_POS              (9) 
  121 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_GC               (0x0000) 
  126 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_TENTATIVE        (0x0200) 
  131 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_REGISTERED       (0x0400) 
  136 #define GNRC_IPV6_NIB_NC_INFO_AR_STATE_MANUAL           (0x0600) 
  234                          const uint8_t *l2addr, 
size_t l2addr_len);
 
EUI-64 data type definition.
 
#define CONFIG_GNRC_IPV6_NIB_L2ADDR_MAX_LEN
Maximum link-layer address length (aligned)
 
#define GNRC_IPV6_NIB_NC_INFO_NUD_STATE_MASK
Mask for neighbor unreachability detection (NUD) states.
 
void gnrc_ipv6_nib_nc_mark_reachable(const ipv6_addr_t *ipv6)
Mark neighbor with address ipv6 as reachable.
 
void gnrc_ipv6_nib_nc_print(gnrc_ipv6_nib_nc_t *nce)
Prints a neighbor cache entry.
 
void gnrc_ipv6_nib_nc_del(const ipv6_addr_t *ipv6, unsigned iface)
Deletes neighbor with address ipv6 from NIB.
 
static unsigned gnrc_ipv6_nib_nc_get_nud_state(const gnrc_ipv6_nib_nc_t *entry)
Gets neighbor unreachability state from entry.
 
static bool gnrc_ipv6_nib_nc_is_router(const gnrc_ipv6_nib_nc_t *entry)
Gets router flag of a neighbor.
 
#define GNRC_IPV6_NIB_NC_INFO_IFACE_POS
Shift position of interface identifier.
 
bool gnrc_ipv6_nib_nc_iter(unsigned iface, void **state, gnrc_ipv6_nib_nc_t *nce)
Iterates over all neighbor cache entries in the NIB.
 
#define GNRC_IPV6_NIB_NC_INFO_AR_STATE_MASK
Mask for 6LoWPAN address registration (6Lo-AR) states.
 
static unsigned gnrc_ipv6_nib_nc_get_ar_state(const gnrc_ipv6_nib_nc_t *entry)
Gets address registration state of an entry.
 
int gnrc_ipv6_nib_nc_set(const ipv6_addr_t *ipv6, unsigned iface, const uint8_t *l2addr, size_t l2addr_len)
Adds an unmanaged neighbor entry to NIB.
 
#define GNRC_IPV6_NIB_NC_INFO_IFACE_MASK
Mask for interface identifier.
 
static unsigned gnrc_ipv6_nib_nc_get_iface(const gnrc_ipv6_nib_nc_t *entry)
Gets interface from entry.
 
#define GNRC_IPV6_NIB_NC_INFO_IS_ROUTER
gnrc_ipv6_nib_t::next_hop is router
 
Definitions for IPv6 addresses.
 
Configuration macro definitions for neighbor information base.
 
Generic network interface header.
 
Neighbor cache entry view on NIB.
 
uint8_t l2addr_len
Length of gnrc_ipv6_nib_nc_t::l2addr in bytes.
 
ipv6_addr_t ipv6
Neighbor's IPv6 address.
 
uint16_t info
Neighbor information as defined in info values.
 
Data type to represent an IPv6 address.