Contiki-NG
|
IPv6 Neighbor cache (link-layer/IPv6 address mapping) More...
#include "contiki.h"
#include "net/ipv6/uip.h"
#include "net/ipv6/uip-nd6.h"
#include "net/nbr-table.h"
#include "sys/stimer.h"
Go to the source code of this file.
Data Structures | |
struct | uip_ds6_nbr |
The default nbr_table entry (when UIP_DS6_NBR_MULTI_IPV6_ADDRS is disabled), that implements nbr cache. More... | |
Macros | |
#define | NBR_INCOMPLETE 0 |
Possible states for the nbr cache entries. | |
#define | UIP_DS6_NBR_MULTI_IPV6_ADDRS 0 |
Set non-zero (1) to enable multiple IPv6 addresses to be associated with a link-layer address. | |
#define | UIP_DS6_NBR_MAX_6ADDRS_PER_NBR 2 |
Set the maximum number of IPv6 addresses per link-layer address. | |
#define | UIP_DS6_NBR_MAX_NEIGHBOR_CACHES (NBR_TABLE_MAX_NEIGHBORS * UIP_DS6_NBR_MAX_6ADDRS_PER_NBR) |
Set the maximum number of neighbor cache entries. | |
Typedefs | |
typedef struct uip_ds6_nbr | uip_ds6_nbr_t |
The default nbr_table entry (when UIP_DS6_NBR_MULTI_IPV6_ADDRS is disabled), that implements nbr cache. | |
Functions | |
uip_ds6_nbr_t * | uip_ds6_nbr_add (const uip_ipaddr_t *ipaddr, const uip_lladdr_t *lladdr, uint8_t isrouter, uint8_t state, nbr_table_reason_t reason, void *data) |
Add a neighbor cache for a specified IPv6 address, which is associated with a specified link-layer address. More... | |
int | uip_ds6_nbr_rm (uip_ds6_nbr_t *nbr) |
Remove a neighbor cache. More... | |
const uip_lladdr_t * | uip_ds6_nbr_get_ll (const uip_ds6_nbr_t *nbr) |
Get the link-layer address associated with a specified nbr cache. More... | |
const uip_lladdr_t * | uip_ds6_nbr_lladdr_from_ipaddr (const uip_ipaddr_t *ipaddr) |
Get the link-layer address associated with a specified IPv6 address. More... | |
int | uip_ds6_nbr_update_ll (uip_ds6_nbr_t **nbr, const uip_lladdr_t *new_ll_addr) |
Update the link-layer address associated with an IPv6 address. More... | |
const uip_ipaddr_t * | uip_ds6_nbr_get_ipaddr (const uip_ds6_nbr_t *nbr) |
Get an IPv6 address of a neighbor cache. More... | |
uip_ipaddr_t * | uip_ds6_nbr_ipaddr_from_lladdr (const uip_lladdr_t *lladdr) |
Get an IPv6 address associated with a specified link-layer address. More... | |
uip_ds6_nbr_t * | uip_ds6_nbr_lookup (const uip_ipaddr_t *ipaddr) |
Get the neighbor cache associated with a specified IPv6 address. More... | |
uip_ds6_nbr_t * | uip_ds6_nbr_ll_lookup (const uip_lladdr_t *lladdr) |
Get the neighbor cache associated with a specified link-layer address. More... | |
int | uip_ds6_nbr_num (void) |
Return the number of neighbor caches. More... | |
uip_ds6_nbr_t * | uip_ds6_nbr_head (void) |
Get the first neighbor cache in nbr_table. More... | |
uip_ds6_nbr_t * | uip_ds6_nbr_next (uip_ds6_nbr_t *nbr) |
Get the next neighbor cache of a specified one. More... | |
void | uip_ds6_link_callback (int status, int numtx) |
The callback function to update link-layer stats in a neighbor cache. More... | |
void | uip_ds6_neighbor_periodic (void) |
The housekeeping function called periodically. | |
uip_ds6_nbr_t * | uip_ds6_get_least_lifetime_neighbor (void) |
This searches inside the neighbor table for the neighbor that is about to expire the next. More... | |
IPv6 Neighbor cache (link-layer/IPv6 address mapping)
Definition in file uip-ds6-nbr.h.