Re: linux-3.0.18+r8169+ipv4/tcp forwarding = tso/gso weirdness and performance degration
From: Timo Teras <hidden>
Date: 2012-03-15 06:07:17
On Wed, 14 Mar 2012 21:53:19 +0100 Francois Romieu [off-list ref] wrote:
Timo Teras [off-list ref] : [...]quoted
# ethtool -S eth2 NIC statistics: tx_packets: 2069391193 rx_packets: 3245815642 tx_errors: 0 rx_errors: 645238 rx_missed: 31414It does not look like stuff for the higher layers guys. Can you tshark -w foobar on the sender side and 'while : ; do sleep 1; ethtool -S eth2 >> glop; done' on the receiver during a bad wget (a big zero filled file should compress well).
Indeed. It seems that my earlier test about the "GRO off" effect were mistaken (I used accidentally proxy, and that gave the illusion that things are working. Whoops.) So far I changed the cross-over cable and it didn't help. However, forcing the NIC to 100mbit/full-duplex mode fixes the rx_errors. It seems that something bad is happening in the gigabit mode. # ethtool eth2 Settings for eth2: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 100baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes I wonder if it's using pause frames and that's messing things up. Seems that I can't turn it off, though. I can also double check my cables, though it is factory made Cat-5E cross-over cable; and happens with two different cables. -Timo