diff --git a/core/net/uip-ds6-nbr.c b/core/net/uip-ds6-nbr.c index 5d7b05ba8..43a16f4f4 100644 --- a/core/net/uip-ds6-nbr.c +++ b/core/net/uip-ds6-nbr.c @@ -137,7 +137,21 @@ uip_ds6_nbr_get_ll(uip_ds6_nbr_t *nbr) { return (uip_lladdr_t *)nbr_table_get_lladdr(ds6_neighbors, nbr); } +/*---------------------------------------------------------------------------*/ +int +uip_ds6_nbr_num(void) +{ + uip_ds6_nbr_t *nbr; + int num; + num = 0; + for(nbr = nbr_table_head(ds6_neighbors); + nbr != NULL; + nbr = nbr_table_next(ds6_neighbors, nbr)) { + num++; + } + return num; +} /*---------------------------------------------------------------------------*/ uip_ds6_nbr_t * uip_ds6_nbr_lookup(uip_ipaddr_t *ipaddr) diff --git a/core/net/uip-ds6-nbr.h b/core/net/uip-ds6-nbr.h index 9371255ff..18251e189 100644 --- a/core/net/uip-ds6-nbr.h +++ b/core/net/uip-ds6-nbr.h @@ -93,7 +93,8 @@ uip_ds6_nbr_t *uip_ds6_nbr_ll_lookup(uip_lladdr_t *lladdr); uip_ipaddr_t *uip_ds6_nbr_ipaddr_from_lladdr(uip_lladdr_t *lladdr); uip_lladdr_t *uip_ds6_nbr_lladdr_from_ipaddr(uip_ipaddr_t *ipaddr); void uip_ds6_link_neighbor_callback(int status, int numtx); -void uip_ds6_neighbor_periodic(); +void uip_ds6_neighbor_periodic(void); +int uip_ds6_nbr_num(void); /** * \brief