I have several udp-senders (for example RPL-Collect/udp-sender) that transmitting data packets to the sink one time per minute.
When I turn off RF frame filtering and automatic H/W ACKs (Promiscuous Mode) by NETSTACK_RADIO.set_value(RADIO_PARAM_RX_MODE, 0)
, it seems the udp-senders sends their packets twice. I think when frame filtering (or automatic ACKs) is off and incoming packet to the udp-senders that isn't destined to us, this packet forwarded again as a duplicate sender, or because of this the sink received packets twice from promiscuous node.
I guess UDP packets sends by tcpip.c
and tcpip_ipv6_output()
function. Also I changed input_packet()
function in the contikimac.c
for accepts all packets even not is destined to us. How to forward only packets which is destined to us in promiscuous mode?