У меня есть несколько отправителей udp (например, RPL-Collect / udp-sender ), которые передают пакеты данных в приемник один раз в минуту.
Когда я выключаю ВЧ-фильтрацию кадров и автоматические H / W ACK ( Случайный режим ) с помощью NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE, 0)
, кажется, отправители udp отправляет свои пакеты дважды .Я думаю, что когда фильтрация кадров (или автоматические ACK) отключена и входящий пакет отправителям udp не предназначен для нас, этот пакет снова пересылается как дублирующий отправитель, или из-за этого получатель получаетпакеты дважды с разнородного узла.
Я думаю, UDP-пакеты отправляются с помощью функций tcpip.c
и tcpip_ipv6_output()
.Также я изменил функцию input_packet()
в contikimac.c
для приема всех пакетов, даже не предназначенных для нас.Как пересылать только те пакеты, которые нам предназначены в беспорядочном режиме?