Routing tables for the micro implementation of the AODV ad hoc routing protocol
Macros | |
#define | UAODV_NUM_RT_ENTRIES 8 |
Functions | |
LIST (route_table) | |
MEMB (route_mem, struct uaodv_rt_entry, UAODV_NUM_RT_ENTRIES) | |
struct uaodv_rt_entry * | uaodv_rt_add (uip_ipaddr_t *dest, uip_ipaddr_t *nexthop, unsigned hop_count, const uint32_t *seqno) |
void | uaodv_rt_flush_all (void) |
void | uaodv_rt_init (void) |
struct uaodv_rt_entry * | uaodv_rt_lookup (uip_ipaddr_t *dest) |
struct uaodv_rt_entry * | uaodv_rt_lookup_any (uip_ipaddr_t *dest) |
void | uaodv_rt_lru (struct uaodv_rt_entry *e) |
#define UAODV_NUM_RT_ENTRIES 8 |
LIST | ( | route_table | ) |
MEMB | ( | route_mem | , |
struct uaodv_rt_entry | , | ||
UAODV_NUM_RT_ENTRIES | |||
) |
struct uaodv_rt_entry* uaodv_rt_add | ( | uip_ipaddr_t * | dest, |
uip_ipaddr_t * | nexthop, | ||
unsigned | hop_count, | ||
const uint32_t * | seqno | ||
) |
References uaodv_rt_entry::dest, uaodv_rt_entry::hop_count, uaodv_rt_entry::hseqno, uaodv_rt_entry::is_bad, list_chop(), list_push(), list_remove(), memb_alloc(), uaodv_rt_entry::nexthop, NULL, uaodv_rt_lookup_any(), uip_ipaddr_copy, and uip_ntohl.
Referenced by handle_incoming_rrep(), and handle_incoming_rreq().
void uaodv_rt_flush_all | ( | void | ) |
References list_pop(), memb_free(), and NULL.
Referenced by PROCESS_THREAD().
void uaodv_rt_init | ( | void | ) |
References list_init(), and memb_init().
struct uaodv_rt_entry* uaodv_rt_lookup | ( | uip_ipaddr_t * | dest | ) |
References uaodv_rt_entry::is_bad, NULL, and uaodv_rt_lookup_any().
Referenced by handle_incoming_rrep(), handle_incoming_rreq(), PROCESS_THREAD(), and uaodv_request_route_to().
struct uaodv_rt_entry* uaodv_rt_lookup_any | ( | uip_ipaddr_t * | dest | ) |
References uaodv_rt_entry::dest, list_head(), uaodv_rt_entry::next, NULL, and uip_ipaddr_cmp.
Referenced by handle_incoming_rerr(), last_known_seqno(), uaodv_bad_dest(), uaodv_rt_add(), and uaodv_rt_lookup().
void uaodv_rt_lru | ( | struct uaodv_rt_entry * | e | ) |
References list_head(), list_push(), and list_remove().
Referenced by uaodv_request_route_to().