|
Contiki 2.5
|
IPv6 data structures handling functions
Comprises part of the Neighbor discovery (RFC 4861)
and auto configuration (RFC 4862 )state machines
More...
#include <string.h>#include <stdlib.h>#include "lib/random.h"#include "net/uip-nd6.h"#include "net/uip-ds6.h"#include "net/uip-packetqueue.h"#include "net/uip-debug.h"Go to the source code of this file.
Functions | |
| void | uip_ds6_init (void) |
| Initialize data structures. | |
| void | uip_ds6_periodic (void) |
| Periodic processing of data structures. | |
| uint8_t | uip_ds6_list_loop (uip_ds6_element_t *list, uint8_t size, uint16_t elementsize, uip_ipaddr_t *ipaddr, uint8_t ipaddrlen, uip_ds6_element_t **out_element) |
| Generic loop routine on an abstract data structure, which generalizes all data structures used in DS6. | |
| void | uip_ds6_select_src (uip_ipaddr_t *src, uip_ipaddr_t *dst) |
| Source address selection, see RFC 3484. | |
| void | uip_ds6_set_addr_iid (uip_ipaddr_t *ipaddr, uip_lladdr_t *lladdr) |
| set the last 64 bits of an IP address based on the MAC address | |
| uint8_t | get_match_length (uip_ipaddr_t *src, uip_ipaddr_t *dst) |
| Get the number of matching bits of two addresses. | |
| void | uip_ds6_dad (uip_ds6_addr_t *ifaddr) |
| Perform Duplicate Address Selection on one address. | |
| int | uip_ds6_dad_failed (uip_ds6_addr_t *ifaddr) |
| Callback when DAD failed. | |
| void | uip_ds6_send_rs (void) |
| Send periodic RS to find router. | |
| uint32_t | uip_ds6_compute_reachable_time (void) |
| Compute the reachable time based on base reachable time, see RFC 4861. | |
Neighbor Cache basic routines | |
| uip_ds6_nbr_t * | uip_ds6_nbr_add (uip_ipaddr_t *ipaddr, uip_lladdr_t *lladdr, uint8_t isrouter, uint8_t state) |
| void | uip_ds6_nbr_rm (uip_ds6_nbr_t *nbr) |
| uip_ds6_nbr_t * | uip_ds6_nbr_lookup (uip_ipaddr_t *ipaddr) |
Default router list basic routines | |
| uip_ds6_defrt_t * | uip_ds6_defrt_add (uip_ipaddr_t *ipaddr, unsigned long interval) |
| void | uip_ds6_defrt_rm (uip_ds6_defrt_t *defrt) |
| uip_ds6_defrt_t * | uip_ds6_defrt_lookup (uip_ipaddr_t *ipaddr) |
| uip_ipaddr_t * | uip_ds6_defrt_choose (void) |
Prefix list basic routines | |
| uip_ds6_prefix_t * | uip_ds6_prefix_add (uip_ipaddr_t *ipaddr, uint8_t ipaddrlen, unsigned long interval) |
| void | uip_ds6_prefix_rm (uip_ds6_prefix_t *prefix) |
| uip_ds6_prefix_t * | uip_ds6_prefix_lookup (uip_ipaddr_t *ipaddr, uint8_t ipaddrlen) |
| uint8_t | uip_ds6_is_addr_onlink (uip_ipaddr_t *ipaddr) |
Unicast address list basic routines | |
| uip_ds6_addr_t * | uip_ds6_addr_add (uip_ipaddr_t *ipaddr, unsigned long vlifetime, uint8_t type) |
| void | uip_ds6_addr_rm (uip_ds6_addr_t *addr) |
| uip_ds6_addr_t * | uip_ds6_addr_lookup (uip_ipaddr_t *ipaddr) |
| uip_ds6_addr_t * | uip_ds6_get_link_local (int8_t state) |
| uip_ds6_addr_t * | uip_ds6_get_global (int8_t state) |
Multicast address list basic routines | |
| uip_ds6_maddr_t * | uip_ds6_maddr_add (uip_ipaddr_t *ipaddr) |
| void | uip_ds6_maddr_rm (uip_ds6_maddr_t *maddr) |
| uip_ds6_maddr_t * | uip_ds6_maddr_lookup (uip_ipaddr_t *ipaddr) |
Anycast address list basic routines | |
| uip_ds6_aaddr_t * | uip_ds6_aaddr_add (uip_ipaddr_t *ipaddr) |
| void | uip_ds6_aaddr_rm (uip_ds6_aaddr_t *aaddr) |
| uip_ds6_aaddr_t * | uip_ds6_aaddr_lookup (uip_ipaddr_t *ipaddr) |
Routing Table basic routines | |
| uip_ds6_route_t * | uip_ds6_route_lookup (uip_ipaddr_t *destipaddr) |
| uip_ds6_route_t * | uip_ds6_route_add (uip_ipaddr_t *ipaddr, uint8_t length, uip_ipaddr_t *nexthop, uint8_t metric) |
| void | uip_ds6_route_rm (uip_ds6_route_t *route) |
| void | uip_ds6_route_rm_by_nexthop (uip_ipaddr_t *nexthop) |
Variables | |
| struct etimer | uip_ds6_timer_rs |
| Timer for maintenance of data structures. | |
"DS6" Data structures | |
number of rs already sent | |
| uip_ds6_netif_t | uip_ds6_if |
| uip_ds6_nbr_t | uip_ds6_nbr_cache [UIP_DS6_NBR_NB] |
| The single interface. | |
| uip_ds6_defrt_t | uip_ds6_defrt_list [UIP_DS6_DEFRT_NB] |
| Neighor cache. | |
| uip_ds6_prefix_t | uip_ds6_prefix_list [UIP_DS6_PREFIX_NB] |
| Default rt list. | |
| uip_ds6_route_t | uip_ds6_routing_table [UIP_DS6_ROUTE_NB] |
| Prefix list. | |
IPv6 data structures handling functions
Comprises part of the Neighbor discovery (RFC 4861)
and auto configuration (RFC 4862 )state machines
Definition in file uip-ds6.c.
1.8.3.1