TSO and FreeBSD vs Linux
Hooman Fazaeli
hoomanfazaeli at gmail.com
Wed Sep 4 05:19:32 UTC 2013
On 9/4/2013 9:23 AM, Julian Elischer wrote:
> On 9/4/13 6:49 AM, David Wolfskill wrote:
>> On Tue, Sep 03, 2013 at 12:27:34PM -0700, David Wolfskill wrote:
>>> ...
>>> As soon as I issued "sudo net.inet.tcp.tso=0" ... the copy worked without
>>> a hitch or a whine. And I was able to copy all 117709618 bytes, not just
>>> 2097152 (2^21).
>> The above command should (of course) have read
>>
>> sudo sysctl net.inet.tcp.tso=0
>>
>> Also: I normally had the em0 NIC on the machine in question connected to
>> a Netgear GS105 (5-port Gigabit switch). In the process of
>> trouble-shooting the problem with NFS writes, I bypassed that switch and
>> connected the em0 NIC directly to the jack in my cube.
>>
>> In that configuration, the em0 NIC showed "media: Ethernet 1000baseT
>> (autoselect)", while connected to the GS105, it showed "media: Ethernet
>> 100baseTX (autoselect)".
>>
>> While the NFS write worked whether or not I had the GS105 in the path,
>> it seemed ... suboptimal ... to have a NIC capable of 1000baseT
>> connected to a Gigabit switch, but negotiating at 100baseTX.
>>
>> So I tried setting the media via "ifconfig em0 media 1000baseT"; after a
>> few seconds, it finally woke back up, and now reports "media: Ethernet
>> 1000baseT (1000baseT <full-duplex>)".
>>
>> So it appears that the em(4) driver and Intel 82578DM NIC fail to
>> negotiate 1000baseT with the Netgear GS105.
>
> yeah auto-negotiation seems a bit fragile.. not just for us either..
> I often end up hardwiring it in rc.conf.
>
I had also experienced similar problems (one case was 82574 with cisco 3550).
I also remember cases when auto-select worked but fixed media did not (link was settled down to 100 or half-duplex)
I am curious as what is the exact technical reason(s) for such media problems?
Are they more hardware or driver related?
--
Best regards.
Hooman Fazaeli
More information about the freebsd-net
mailing list