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 (называемые «родителями») и соседи канального уровня, каждое в отдельном списке.

Другие вопросы по тегам