Re: excessive TCP dulplicate acks revisted




On Nov 10, 2007, at 10:28 AM, Andre Oppermann wrote:

Gregory Wright wrote:
(Note: long message)
Hi,
The tcp duplicate ACK attack is back.
Last March, there was a thread on duplicate TCP acks in -CURRENT.
I have been able to reproduce the problem on 7.0-BETA2 (amd64)
and have some new information that might help locate the bug.
Background: I first noticed problems with tcp connections dropping
when Bacula was running on our backup server. The hardware was
a dual Opteron 244, 2 GB RAM, running FreeBSD 6.2-RELEASE-p2.
The ethernet NIC was a bge.
We went through an extensive process to rule out hardware and cabling
problems: the server hardware was replaced with a single Opteron 270
(dual core) on a Tyan S2882-D motherboard. The memory was replaced
as well. The NICs are still bge. This machine is "hardtack".

This may be a TSO bug in the bge hardware. Please repeat your tests in
the original setup with TSO disabled on the bge interfaces ("ifconfig bgeX -tso").
Second if you've got another network card with something else than bge
please put it into the same box and run the tests as well.

--
Andre


Hi Andre,

I turned off TSO on the bge interface and still had the low throughput. A packet
log showed that there were still bursts of duplicate ACKs. Results of netperf
from my PowerBook:

crossroads-able> netperf -H hardtack
TCP STREAM TEST from localhost (0.0.0.0) port 0 AF_INET to hardtack. 18clay.com (192.168.2.61) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

65536 262144 262144 10.02 28.37
crossroads-able>

The Tyan S2882-D motherboard has two bge interfaces and an fxp as well.
Switching to the fxp interface, I get much better throughput:

crossroads-able> netperf -H hardtack
TCP STREAM TEST from localhost (0.0.0.0) port 0 AF_INET to hardtack. 18clay.com (192.168.2.61) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

65536 262144 262144 10.02 93.70
crossroads-able>

and the packet logs show no duplicate ACKs.

I will run some longer tests to the fxp interface to verify
that there are no problems.

Greg

_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: excessive TCP dulplicate acks revisted
    ... The tcp duplicate ACK attack is back. ... there was a thread on duplicate TCP acks in -CURRENT. ... The ethernet NIC was a bge. ... I also took a look at the bge driver in 7.0-BETA2. ...
    (freebsd-current)
  • Re: excessive TCP dulplicate acks revisted
    ... The tcp duplicate ACK attack is back. ... there was a thread on duplicate TCP acks in -CURRENT. ... The ethernet NIC was a bge. ... it does not support TSO (there is no ioctl supporting TSO enable/disable ...
    (freebsd-current)
  • Re: 7.0-RC1 bge network performance issue?
    ... I have an IBM P4-3.06ghz machine with dual 10/100 BGE nics and 1GB ram ... I saw the duplicate ACK problem on both 6.x and 7.0-BETA2, ... I suspect some subtlety in initializing the chip is behind the duplicate ACKs. ...
    (freebsd-current)
  • Re: bge dropping packets issue
    ... Moreover it seems the Linux driver can set it ... experimenting with right now just dropping the BGE mutex around the ... to get the BGE driver to drain as much rx_bd's as possible to avoid ... My app is TCP, cranking the TCP receive buffer way up helped, as ...
    (freebsd-net)
  • Re: bge dropping packets issue
    ... driver dropping packets sporadically at 100MBps speed. ... speeds? ... I had a similar problem with bge and 6.0-RELEASE. ... My app is TCP, cranking the TCP receive buffer way up helped, as did ...
    (freebsd-net)