|
Contiki-Inga 3.x
|
Data Structures | |
| struct | uip_ds6_prefix |
| A prefix list entry. More... | |
| struct | uip_ds6_addr |
| Unicast address structure. More... | |
| struct | uip_ds6_aaddr |
| Anycast address. More... | |
| struct | uip_ds6_maddr |
| A multicast address. More... | |
| struct | uip_ds6_netif |
| Interface structure (contains all the interface variables) More... | |
| struct | uip_ds6_element |
| Generic type for a DS6, to use a common loop though all DS. More... | |
Macros | |
| #define | UIP_DS6_DEFRT_NBS 0 |
| Configuration. More... | |
Typedefs | |
| typedef struct uip_ds6_prefix | uip_ds6_prefix_t |
| A prefix list entry. | |
| typedef struct uip_ds6_addr | uip_ds6_addr_t |
| Unicast address structure. | |
| typedef struct uip_ds6_aaddr | uip_ds6_aaddr_t |
| Anycast address. | |
| typedef struct uip_ds6_maddr | uip_ds6_maddr_t |
| A multicast address. | |
| typedef struct uip_ds6_netif | uip_ds6_netif_t |
| Interface structure (contains all the interface variables) | |
| typedef struct uip_ds6_element | uip_ds6_element_t |
| Generic type for a DS6, to use a common loop though all DS. | |
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_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_select_src (uip_ipaddr_t *src, uip_ipaddr_t *dst) |
| Source address selection, see RFC 3484. | |
| 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. | |
Variables | |
| struct etimer | uip_ds6_timer_rs |
| Timer for maintenance of data structures. | |
Possible states for the an address (RFC 4862) | |
| #define | ADDR_TENTATIVE 0 |
| #define | ADDR_PREFERRED 1 |
| #define | ADDR_DEPRECATED 2 |
How the address was acquired: Autoconf, DHCP or manually | |
| #define | ADDR_ANYTYPE 0 |
| #define | ADDR_AUTOCONF 1 |
| #define | ADDR_DHCP 2 |
| #define | ADDR_MANUAL 3 |
General DS6 definitions | |
| #define | UIP_DS6_PERIOD (CLOCK_SECOND/10) /** Period for uip-ds6 periodic task*/ |
| #define | FOUND 0 |
| #define | FREESPACE 1 |
| #define | NOSPACE 2 |
Prefix list basic routines | |
| uip_ds6_prefix_t * | uip_ds6_prefix_add (uip_ipaddr_t *ipaddr, uint8_t length, 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 (const uip_ipaddr_t *ipaddr) |
| void | uip_ds6_maddr_rm (uip_ds6_maddr_t *maddr) |
| uip_ds6_maddr_t * | uip_ds6_maddr_lookup (const 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) |
Macros to check if an IP address (unicast, multicast or anycast) is mine | |
| #define | uip_ds6_is_my_addr(addr) (uip_ds6_addr_lookup(addr) != NULL) |
| Checks if IP address is mine. More... | |
| #define | uip_ds6_is_my_maddr(addr) (uip_ds6_maddr_lookup(addr) != NULL) |
| Checks if IP multicaste address is mine. More... | |
| #define | uip_ds6_is_my_aaddr(addr) (uip_ds6_aaddr_lookup(addr) != NULL) |
| Checks if IP anycast address is mine. More... | |
| #define UIP_DS6_DEFRT_NBS 0 |
Configuration.
For all tables (Neighbor cache, Prefix List, Routing Table, Default Router List, Unicast address list, multicast address list, anycast address list), we define:
| #define uip_ds6_is_my_aaddr | ( | addr | ) | (uip_ds6_aaddr_lookup(addr) != NULL) |
| #define uip_ds6_is_my_addr | ( | addr | ) | (uip_ds6_addr_lookup(addr) != NULL) |
Checks if IP address is mine.
Definition at line 348 of file uip-ds6.h.
Referenced by tcpip_ipv6_output(), uip_nd6_ns_input(), uip_nd6_ns_output(), and uip_process().
| #define uip_ds6_is_my_maddr | ( | addr | ) | (uip_ds6_maddr_lookup(addr) != NULL) |
Checks if IP multicaste address is mine.
Definition at line 350 of file uip-ds6.h.
Referenced by uip_process().
1.8.3.1