Re: Marvell Kirkwood - MV643XX: near 100% UDP RX packet loss
From: Rick Jones <hidden>
Date: 2014-12-29 23:25:21
On 12/27/2014 03:17 AM, Bruno Prémont wrote:
On Thu, 25 December 2014 Rick Jones [off-list ref] wrote:quoted
quoted
Why are so many packets being discarded?You should also check the netstat statistics, particularly UDP on the receiving side. Look before and after the test and see how they change, if at all.Here they go. Summary of numbers: iperf UDP run, 5 seconds @ 1Gb/s lost 71216/71776 packets before after delta ethtool: rx_packets: 420001 688424 268423 rx_bytes: 433251917 809803463 376551546 rx_errors: 0 0 0 rx_dropped: 0 0 0 bad_octets_received: 0 0 0 bad_frames_received: 0 0 0 rx_discard: 159691 323123 163432 rx_overrun: 0 0 0 netstat, udp: packets received 15559 16137 578 packets to unknown port received 18 18 0 packet receive errors 41599 83890 42291 packets sent 34697 34770 73 receive buffer errors 0 0 0 send buffer errors 0 0 0
Well, it certainly looks like a decent fraction of your lost traffic are UDP packet receive errors. Overrunning the SO_RCVBUF on the receiving side presumably. You can either start walking-down the transmission rate of the iperf client, or try a larger receive socket buffer size on the iperf server, though that will only help if those drops are from the receiving side being only occasionally slower than the sending side. You might also want to make sure the UDP datagrams being sent are huge and so getting fragmented. All it takes is to lose one fragment of an IP datagram to render the entire datagram useless. As for the rx_discard in the ethtool stats, someone more familiar with the hardware will have to describe the various reasons for that stat to be incremented. rick jones