Hi Guys,
I am testing my network driver (designed with iflib framework) using "iperf3" tool. I am seeing low numbers in receive path on a 10G Link with 1500 MTU. This is most-likely my driver issue, but need some information here.
I did a quick analysis of tcpdump on both iperf3 server (my test side) and client side (support side). iperf3 clients pumps traffic to iperf3 server. After a point, server sends an ACK with SACK option (few SLE and SRE pairs) to indicate missing frames to the client. And client is re-transmitting all that missing segment as per protocol and the server receives it. But still I see the ACK sent again for the same sequence number with same SACK option. So client keeps on re-transmitting the packets and hence the performance drops. Any reason why server is not acknowledging the re-transmitted packets? If the driver Rx isn't proper, then I may not see the packet in tcpdump. But I see it. So any idea, what could be wrong here?
Please let me know if any more details needed.
Thanks,
Rajesh
I am testing my network driver (designed with iflib framework) using "iperf3" tool. I am seeing low numbers in receive path on a 10G Link with 1500 MTU. This is most-likely my driver issue, but need some information here.
I did a quick analysis of tcpdump on both iperf3 server (my test side) and client side (support side). iperf3 clients pumps traffic to iperf3 server. After a point, server sends an ACK with SACK option (few SLE and SRE pairs) to indicate missing frames to the client. And client is re-transmitting all that missing segment as per protocol and the server receives it. But still I see the ACK sent again for the same sequence number with same SACK option. So client keeps on re-transmitting the packets and hence the performance drops. Any reason why server is not acknowledging the re-transmitted packets? If the driver Rx isn't proper, then I may not see the packet in tcpdump. But I see it. So any idea, what could be wrong here?
Please let me know if any more details needed.
Thanks,
Rajesh