46 #ifndef UIP_DS6_NEIGHBOR_H_ 47 #define UIP_DS6_NEIGHBOR_H_ 52 #include "net/nbr-table.h" 54 #if UIP_CONF_IPV6_QUEUE_PKT 55 #include "net/ipv6/uip-packetqueue.h" 60 #define NBR_INCOMPLETE 0 61 #define NBR_REACHABLE 1 66 NBR_TABLE_DECLARE(ds6_neighbors);
73 #if UIP_ND6_SEND_NS || UIP_ND6_SEND_RA 78 #if UIP_CONF_IPV6_QUEUE_PKT 79 struct uip_packetqueue_handle packethandle;
80 #define UIP_DS6_NBR_PACKET_LIFETIME CLOCK_SECOND * 4 84 void uip_ds6_neighbors_init(
void);
88 const uip_lladdr_t *lladdr,
89 uint8_t isrouter, uint8_t state,
90 nbr_table_reason_t reason,
void *data);
92 const uip_lladdr_t *uip_ds6_nbr_get_ll(
const uip_ds6_nbr_t *nbr);
93 int uip_ds6_nbr_update_ll(
uip_ds6_nbr_t **nbr,
const uip_lladdr_t *new_ll_addr);
94 const uip_ipaddr_t *uip_ds6_nbr_get_ipaddr(
const uip_ds6_nbr_t *nbr);
96 uip_ds6_nbr_t *uip_ds6_nbr_ll_lookup(
const uip_lladdr_t *lladdr);
97 uip_ipaddr_t *uip_ds6_nbr_ipaddr_from_lladdr(
const uip_lladdr_t *lladdr);
98 const uip_lladdr_t *uip_ds6_nbr_lladdr_from_ipaddr(
const uip_ipaddr_t *
ipaddr);
99 void uip_ds6_link_callback(
int status,
int numtx);
100 void uip_ds6_neighbor_periodic(
void);
101 int uip_ds6_nbr_num(
void);
113 void uip_ds6_nbr_refresh_reachable_state(
const uip_ipaddr_t *
ipaddr);
static uip_ipaddr_t ipaddr
Pointer to prefix information option in uip_buf.
static uip_ds6_nbr_t * nbr
Pointer to llao option in uip_buf.
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...
Second timer library header file.
Header file for the uIP TCP/IP stack.
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)
Neighbor Cache basic routines.
Header file for IPv6 Neighbor discovery (RFC 4861)
struct uip_ds6_nbr uip_ds6_nbr_t
An entry in the nbr cache.
An entry in the nbr cache.