[nSLUG] ethernet and the modern linux

Jason Kenney jdkenney at gmail.com
Fri Sep 26 11:04:24 ADT 2008

Hi George,

> 3.  full duplex considered harmful
> One view is that a network where systems think the cable is
> disconnected is broken and should
> be fixed.   My view is that shit happens, and we should configure
> systems to be robust.   Apple,
> who have lots of experience with a tightly controlled list of network
> interfaces, recommend settings switches to force half-duplex, which is
> what you get when autoneg fails.    Full duplex sounds nice,
> and does make a difference with systems that have traffic patterns
> where send and receive volumes
> are both high, such as a multiuser unix box doing file and mail
> serving, running X11 apps, etc.
> These days, such boxes have multiple gigabit interfaces.   I recall
> some discussions where it was claimed that full duplex was a fraud
> since the hardware (this was several years ago) couldn't actually
> handle the traffic volumes for 100Mbit full duplex, and that gigabit
> was best configured for half-duplex.

I believe the problems you see with full vs. half duplex really are
only for 10 and 100 speed networks...

The reason being the number of pairs of wires used.  10 uses 1 pair up
and 1 pair for down, 100 uses 2 pairs for up and 4 pairs for down.
But 1000 uses all 4 pairs bidirectionally!

I don't really understand how auto-negotiation can be such a failure
for the lower speeds, but gigabit over twisted pair is just a
completely different beast altogether in the way it works.  I wouldn't
group in with the others.  It also uses an "auto-negotiation", but is
required as I understand it and negotiates a lot more things...  Eg.
if autoneg here fails you can't just end up with half-duplex, there
are things that both ends NEED and they cannot just fall back on
defaults (because they share the wires for both as mentionned above).
That said I think you can tell autoneg to not report full duplex, but
the process is still necessary I think.

Maybe someone with more knowledge of 1000Base-T can chip in, but
whoever was saying gigabit was best configured for half-duplex I think
was just wrong.  If there is a speed limitation in your hardware, I
should think TCP would control the rate of incoming information so
that you don't exceed it.  That being said TCP probably needs some
changes/tweaking in order to fully make use of gigabit ethernet as


More information about the nSLUG mailing list