#include "net/ipv6/uip-ds6.h"
#include "net/ip/uip.h"
#include "lib/list.h"
#include "lib/memb.h"
#include "net/nbr-table.h"
#include <string.h>
#include "net/ip/uip-debug.h"
Macros | |
#define | _DEBUG_ DEBUG_NONE |
Variables | |
static int | num_routes = 0 |
#define _DEBUG_ DEBUG_NONE |
LIST | ( | routelist | ) |
LIST | ( | defaultrouterlist | ) |
MEMB | ( | neighborroutememb | , |
struct uip_ds6_route_neighbor_route | , | ||
UIP_DS6_ROUTE_NB | |||
) |
MEMB | ( | routememb | , |
uip_ds6_route_t | , | ||
UIP_DS6_ROUTE_NB | |||
) |
MEMB | ( | defaultroutermemb | , |
uip_ds6_defrt_t | , | ||
UIP_DS6_DEFRT_NB | |||
) |
NBR_TABLE | ( | struct uip_ds6_route_neighbor_routes | , |
nbr_routes | |||
) |
|
static |
References list_head(), nbr_table_remove(), NULL, PRINTF, uip_ds6_route_neighbor_route::route, and uip_ds6_route_rm().
Referenced by rm_routelist_callback(), and uip_ds6_route_rm_by_nexthop().
|
static |
References rm_routelist().
Referenced by uip_ds6_route_init().
uip_ds6_defrt_t* uip_ds6_defrt_add | ( | uip_ipaddr_t * | ipaddr, |
unsigned long | interval | ||
) |
References ANNOTATE, uip_ds6_defrt::ipaddr, uip_ds6_defrt::isinfinite, uip_ds6_defrt::lifetime, list_push(), memb_alloc(), NULL, PRINT6ADDR, PRINTF, stimer_set(), uip_ip6addr_t::u8, uip_create_unspecified, uip_ds6_defrt_lookup(), UIP_DS6_NOTIFICATION_DEFRT_ADD, and uip_ipaddr_copy.
Referenced by ra_input(), rpl_process_dio(), rpl_set_default_route(), and simple_rpl_init_dag().
uip_ipaddr_t* uip_ds6_defrt_choose | ( | void | ) |
References addr, uip_ds6_defrt::ipaddr, list_head(), list_item_next(), NBR_INCOMPLETE, NULL, PRINT6ADDR, PRINTF, uip_ds6_nbr::state, uip_create_unspecified, uip_ds6_nbr_lookup(), and uip_ipaddr_cmp.
Referenced by tcpip_ipv6_output(), and uip_ds6_send_rs().
uip_ds6_defrt_t* uip_ds6_defrt_lookup | ( | uip_ipaddr_t * | ipaddr | ) |
References uip_ds6_defrt::ipaddr, list_head(), list_item_next(), NULL, and uip_ipaddr_cmp.
Referenced by na_input(), ra_input(), uip_ds6_defrt_add(), and uip_ds6_neighbor_periodic().
void uip_ds6_defrt_periodic | ( | void | ) |
References uip_ds6_defrt::isinfinite, uip_ds6_defrt::lifetime, list_head(), list_item_next(), NULL, PRINTF, stimer_expired(), and uip_ds6_defrt_rm().
Referenced by uip_ds6_periodic().
void uip_ds6_defrt_rm | ( | uip_ds6_defrt_t * | defrt | ) |
References ANNOTATE, uip_ds6_defrt::ipaddr, list_head(), list_item_next(), list_remove(), memb_free(), NULL, PRINTF, uip_ip6addr_t::u8, and UIP_DS6_NOTIFICATION_DEFRT_RM.
Referenced by na_input(), ra_input(), rpl_move_parent(), rpl_nullify_parent(), rpl_set_default_route(), simple_rpl_init_dag_immediately(), uip_ds6_defrt_periodic(), and uip_ds6_neighbor_periodic().
uip_ds6_route_t* uip_ds6_route_add | ( | uip_ipaddr_t * | ipaddr, |
uint8_t | length, | ||
uip_ipaddr_t * | nexthop | ||
) |
References ANNOTATE, uip_ds6_route::ipaddr, uip_ds6_route::length, length, list_add(), LIST_STRUCT_INIT, memb_alloc(), memb_free(), nbr_table_add_lladdr(), nbr_table_get_from_lladdr(), uip_ds6_route::neighbor_routes, NULL, num_routes, PRINT6ADDR, PRINTF, uip_ds6_route_neighbor_route::route, uip_ds6_route::state, uip_ip6addr_t::u8, uip_ds6_nbr_lladdr_from_ipaddr(), UIP_DS6_NOTIFICATION_ROUTE_ADD, uip_ds6_route_head(), uip_ds6_route_lookup(), uip_ds6_route_num_routes(), uip_ds6_route_rm(), UIP_DS6_ROUTE_STATE_TYPE, and uip_ipaddr_copy.
Referenced by rpl_add_route().
uip_ds6_route_t* uip_ds6_route_head | ( | void | ) |
References list_head().
Referenced by rpl_purge_routes(), rpl_remove_routes(), rpl_remove_routes_by_nexthop(), uip_ds6_route_add(), uip_ds6_route_lookup(), and uip_ds6_route_rm().
void uip_ds6_route_init | ( | void | ) |
References list_init(), memb_init(), nbr_table_register(), and rm_routelist_callback().
Referenced by uip_ds6_init().
uip_ds6_route_t* uip_ds6_route_lookup | ( | uip_ipaddr_t * | addr | ) |
References uip_ds6_route::ipaddr, uip_ds6_route::length, list_add(), list_remove(), NULL, PRINT6ADDR, PRINTF, uip_ds6_route_head(), uip_ds6_route_next(), uip_ds6_route_nexthop(), and uip_ipaddr_prefixcmp.
Referenced by dao_input(), rpl_update_header_empty(), rpl_verify_header(), tcpip_ipv6_output(), and uip_ds6_route_add().
uip_ds6_route_t* uip_ds6_route_next | ( | uip_ds6_route_t * | r | ) |
References list_item_next(), n, and NULL.
Referenced by rpl_purge_routes(), rpl_remove_routes(), rpl_remove_routes_by_nexthop(), uip_ds6_route_lookup(), and uip_ds6_route_rm().
uip_ipaddr_t* uip_ds6_route_nexthop | ( | uip_ds6_route_t * | route | ) |
References NULL, uip_ds6_nbr_ipaddr_from_lladdr(), and uip_ds6_route_nexthop_lladdr().
Referenced by dao_input(), make_route(), rpl_remove_routes_by_nexthop(), tcpip_ipv6_output(), uip_ds6_route_lookup(), and uip_ds6_route_rm().
|
static |
References nbr_table_get_lladdr(), uip_ds6_route::neighbor_routes, and NULL.
Referenced by uip_ds6_route_nexthop().
int uip_ds6_route_num_routes | ( | void | ) |
References num_routes.
Referenced by make_routes_roomfor(), and uip_ds6_route_add().
void uip_ds6_route_rm | ( | uip_ds6_route_t * | route | ) |
References ANNOTATE, uip_ds6_route::ipaddr, list_head(), list_item_next(), list_remove(), memb_free(), nbr_table_remove(), uip_ds6_route::neighbor_routes, NULL, num_routes, PRINT6ADDR, PRINTF, uip_ds6_route_neighbor_route::route, uip_debug_ipaddr_print(), UIP_DS6_NOTIFICATION_ROUTE_RM, uip_ds6_route_head(), uip_ds6_route_next(), uip_ds6_route_nexthop(), and uip_ipaddr_cmp.
Referenced by rm_routelist(), rpl_purge_routes(), rpl_remove_routes(), rpl_remove_routes_by_nexthop(), rpl_verify_header(), tcpip_ipv6_output(), and uip_ds6_route_add().
void uip_ds6_route_rm_by_nexthop | ( | uip_ipaddr_t * | nexthop | ) |
References nbr_table_get_from_lladdr(), rm_routelist(), and uip_ds6_nbr_lladdr_from_ipaddr().
|
static |
Referenced by uip_ds6_route_add(), uip_ds6_route_num_routes(), and uip_ds6_route_rm().