Contiki Найди соседей
Я хочу найти или перечислить все мои соседние узлы. Это должен быть широковещательный или одноадресный процесс для узлов. Как их найти с помощью Contiki Cooja? Есть какие-нибудь функции по этому поводу?
Спасибо,
1 ответ
Соседи IPv6 хранятся в списке
ds6_neighbors
. Чтобы перебрать этот список, вы можете использовать этот код:
Для Contiki:
#include "net/ipv6/uip-ds6.h"
uip_ds6_nbr_t *nbr;
for(nbr = nbr_table_head(ds6_neighbors);
nbr != NULL;
nbr = nbr_table_next(ds6_neighbors, nbr)) {
/* process nbr here */
}
Для Contiki-NG:
#include "net/ipv6/uip-ds6-nbr.h"
uip_ds6_nbr_t *nbr;
for(nbr = uip_ds6_nbr_head();
nbr != NULL;
nbr = uip_ds6_nbr_next(nbr)) {
/* process nbr here */
}
Другие сетевые уровни имеют свои собственные представления о соседях. Существуют соседи TSCH, соседи RPL (называемые «родителями») и соседи канального уровня, каждое в отдельном списке.