Hi all,
I am working on sniffer testing over SAMR21 board, here is my setup:
- I have one node to send mac packet by calling txtsend.
- Another node is working as a Sniffer which is in the Promisc Mode set by “ifconfig set promisc”
However, whenever the transmitter send one pkt via unicast, the sniffer will receiver will receive 4 pkt (each of them will have a different header memory address). If it sends via broadcast mode, the sniffer only got one pkt (this is correct).
Any idea about this weird situation?
Thanks,
Sugang
Hi
Generally if you are sending unicast, and there is no receiver, you will see multiple copies of the packet as the transmitter is expecting an ACK, and will retry until it gets one or it reaches the max number of retries. There are no ACKs on broadcast, so the transmitter will only send one.
Regards
Michael
Hi Sugang,
Michael's explanation is 100% correct. You can try setting the retries on the
sender to another value by calling:
`ifconfig <ID> set csma_retries <NUMBER>`
and should see different results.
Cheers,
Oleg
Thanks for the quick reply. I have tried that, and you are correct. In addition to that question, when I set the sender to send one unicast pkt to the sniffer node(in promisc mode), it still sees 4 pkts. I know it is not really meaningful, just curious what is going on here.