Протокол маршрутизации Aodv в Контики - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь реализовать свою диссертацию, используя Cooja Simulator на ОС Contiki. Я использовал стек протоколов uip для отправки данных между exp5438. Я пробовал протокол маршрутизации Aodv, который реализован в https://github.com/contiki-os/contiki/tree/master/core/net/ipv4 в кодах, связанных с Aodv, я не могу отправить rrep-сообщения из функции sendto, которая реализована, как показано ниже {строка 128 в ссылке выше, в файле uaodv.c}:

   static void sendto(const uip_ipaddr_t *dest, const void *buf, int len)
   {
   /* XXX: this is a HACK! We're updating the uIP UDP connection
   "unicastconn" so that the destination address is the next-hop,
   and we're patching the "uip_udp_conn" variable so that it points
   the this connection instead. THIS IS NOT A NICE WAY TO DO THIS,
   but it is currently nicer than the alternative (requesting a new
   poll, and remembering the state, etc.). */

   uip_ipaddr_copy(&unicastconn->ripaddr, dest);
   uip_udp_conn = unicastconn;
   uip_udp_packet_send(unicastconn, buf, len);
   }

Хотя я мог транслировать rrep-пакеты, мне нужно одноадресное соединение, чтобы заставить Aodv работать. одноадресное соединение определено как показано ниже:

   unicastconn = udp_broadcast_new(UIP_HTONS(UAODV_UDPPORT), NULL);

Буду очень признателен, если вы поможете мне решить эту проблему.

...