45 #ifndef RPL_NEIGHBOR_H 46 #define RPL_NEIGHBOR_H 50 #include "net/routing/rpl-lite/rpl.h" 65 NBR_TABLE_DECLARE(rpl_neighbors);
207 #define rpl_parent_get_from_ipaddr(addr) rpl_neighbor_get_from_ipaddr(addr) 208 #define rpl_parent_get_ipaddr(nbr) rpl_neighbor_get_ipaddr(nbr) const linkaddr_t * rpl_neighbor_get_lladdr(rpl_nbr_t *nbr)
Returns a neighbors's link-layer address.
uip_ipaddr_t * rpl_neighbor_get_ipaddr(rpl_nbr_t *nbr)
Returns a neighbor's (link-local) IPv6 address.
static uip_ds6_nbr_t * nbr
Pointer to llao option in uip_buf.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.
void rpl_neighbor_remove_all(void)
Empty the RPL neighbor table.
rpl_nbr_t * rpl_neighbor_get_from_ipaddr(uip_ipaddr_t *addr)
Returns a neighbor from its link-local IPv6 address.
int rpl_neighbor_is_fresh(rpl_nbr_t *nbr)
Tells wether we have fresh link information towards a given neighbor.
uint16_t rpl_neighbor_get_link_metric(rpl_nbr_t *nbr)
Returns a neighbor's link metric.
int rpl_neighbor_is_parent(rpl_nbr_t *nbr)
Tells whether a neighbor is in the parent set.
int rpl_neighbor_count(void)
Returns the number of nodes in the RPL neighbor table.
Header file for IPv6-related data structures.
void rpl_neighbor_init(void)
Initialize rpl-dag-neighbor module.
Header file for the callback timer
Linked list manipulation routines.
const struct link_stats * rpl_neighbor_get_link_stats(rpl_nbr_t *nbr)
Returns a neighbor's link statistics.
All information related to a RPL neighbor.
void rpl_neighbor_print_list(const char *str)
Prints a summary of all RPL neighbors and their properties.
Header file for the uIP TCP/IP stack.
int rpl_neighbor_is_acceptable_parent(rpl_nbr_t *nbr)
Tells whether a nbr is acceptable as per the OF's definition.
rpl_rank_t rpl_neighbor_rank_via_nbr(rpl_nbr_t *nbr)
Returns our rank if selecting a given parent as preferred parent.
void rpl_neighbor_set_preferred_parent(rpl_nbr_t *nbr)
Set current RPL preferred parent and update DS6 default route accordingly.
rpl_nbr_t * rpl_neighbor_select_best(void)
Returns the best candidate for preferred parent.
int rpl_neighbor_snprint(char *buf, int buflen, rpl_nbr_t *nbr)
Print a textual description of RPL neighbor into a string.
rpl_nbr_t * rpl_neighbor_get_from_lladdr(uip_lladdr_t *addr)
Returns a neighbor from its link-layer address.
int rpl_neighbor_is_reachable(rpl_nbr_t *nbr)
Tells wether we a given neighbor is reachable.