SUMMARY: Port speed survey

From: Christopher Barnard <>
Date: Fri Nov 28 2008 - 20:56:15 EST
I asked for opinions on setting port speeds on a NIC.  I got well over  
responses back and there is absolutely no consensus.  I got a pretty  
equal number of "force the server and force the switch all the time",  
force any interface", and "its a case-by-case question".

some of the many responses I got back:

Never a problem on Suns to autoneg, but problems with other servers.   
It does
not hurt.  Force 'em.

(4 resp) Force for 10 or 100, but for gigE autonegotiate.

Autonegotiate with newer interfaces, force with older.  Make sure you  
do the
same thing both the Sun and the networking equipment.

(4 resp) Autonegiate always.

autonegiate unless you have to force something

Sun used to have autonegotiation problems, but not anymore.

(5 resp) force always.  autoneg is the "easy way out".

force.  autoneg will be headaches, as every server needs to be  
constantly checked.

force.  Sun recommends autoneg because their gigE drivers are faulty.

depends upon the network hardware.  hme <-> 3com <-> HP ok with  
autoneg, but Cisco <-> Xtreme must be forced.

(4 resp) Tend to autoneg, but check performance and force when  

Autoneg is nice when it works, but that is not very often.  Cicso  
really bad culprit.  End up forcing most servers.

Either one, just make sure both ends are the same.

IEEE standard defines autoneg, but not forced.  In particular does not  
allow forcing for GigE.

autoneg.  Forcing was needed in ancient history when networking hardware
did not set speeds right.  Long since no longer an issue.

force.  too many problems with autoneg in the past.

"permanent" servers force, autoneg ones you don't care if the speed can
change periodically.

just because I am writing this summary, here is a code snippet I have  
in a
root cron job that checks for collisions on each interface so that I  
know if I need to deal with an interface or not.

COLL=`${NETSTAT} -in -I ${INTERFACE} | ${TAIL} +2 | ${SED} '$d' | $ 
{AWK} '{print $9}'`

if [ ${COLL} -gt ${MAXCOL} ]; then
    echo "Collision rate on interface ${INTERFACE} is high. Rate is $ 
    if [ "x${DEBUG}x" = "xtruex" ]; then
        echo "Collision rate on interface ${INTERFACE} is ok."

So I guess the summary is that there is no consensus.  Do what you  
think is
prudent.  I am in the "check the interface and force if necessary"  
camp, but
there are plenty of other camps as well.  Thanks to all for providing  

Christopher L. Barnard
Comment your code as if the person who will be maintaining it is a  
homicidal maniac who knows where you live.
sunmanagers mailing list
Received on Fri Nov 28 20:56:19 2008

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:44:13 EST