SUMMARY: gigabit - fix spd/dpx on the switch ? or autoneg ?

From: Bobby Buckle <>
Date: Wed Apr 22 2009 - 11:26:27 EDT
Hi, thank you for all your responses, I have been doing some investigation
because as many people have pointed out to me, gigabit NEEDs to
autonegotiate ! So I have been wondering why on earth Cisco would introduce
an option to FIX to 1000/Full when the gigabit standard doesnt support being

So here are my findings

I have two identical Sun boxes with e1000g interfaces configured to
auto-negotiate but only advertise 1000/FULL ... See e1000g.conf below

cat /kernel/drv/e1000g.conf | grep -v \#

NumTxDescriptors = 256;
NumRxDescriptors = 256;
FlowControl = 3;
MaxNumReceivePackets = 32;
MaxFrags = 8;
TxInterruptDelay = 300;
MWIEnable = 1;
DmaFairness = 1;
MasterLatencyTimer = 0;

so these two Sun boxes are connected to the same Cisco Catalyst switch with
one of them configured as

speed auto
duplex auto

which subsequently appears like this on the switch

Gi1/12    server2   connected    3           a-full   a-1000

and the other Sun box as

speed 1000
duplex full

which appears like this on the switch

Gi1/36    server1   connected    3           full   1000

As I have mentioned in my original post, both seem to work just fine, and
when i run "dladm show-dev" on either box, i get this

# dladm show-dev
e1000g0         link: up        speed: 1000  Mbps       duplex: full

which is fine

ON the first box which is configured to auto negotiate on the switch i get
the following output from kstat (checking the link partner aka the switch

# kstat -m e1000g -p | fgrep lp_
e1000g:0:mac:lp_cap_1000fdx     1
e1000g:0:mac:lp_cap_1000hdx     1
e1000g:0:mac:lp_cap_100fdx      1
e1000g:0:mac:lp_cap_100hdx      1
e1000g:0:mac:lp_cap_10fdx       1
e1000g:0:mac:lp_cap_10hdx       1
e1000g:0:mac:lp_cap_asmpause    1
e1000g:0:mac:lp_cap_autoneg     1

However, on the box that is configured as "fixed" 1000/FULL on the switchI

e1000g:0:mac:lp_cap_1000fdx     1
e1000g:0:mac:lp_cap_1000hdx     0
e1000g:0:mac:lp_cap_100fdx      0
e1000g:0:mac:lp_cap_100hdx      0
e1000g:0:mac:lp_cap_10fdx       0
e1000g:0:mac:lp_cap_10hdx       0
e1000g:0:mac:lp_cap_asmpause    1
e1000g:0:mac:lp_cap_autoneg     1
e1000g:0:mac:lp_cap_pause       0

As you can see it seems as though the option on the switch to fix at
1000/FUll actually does what the e1000g configuration is doing ..  i.e it
has switched autoneg on, but is only advertising 1000/FULL capability

If you look at the output from the box that has autoneg set on the
switchport, you can see that all autoneg capabilities are set to 1,

So in summary, I think, although misleading you into thinking you are fixing
1000/Full (when its in fact still autonegging) It is the better option to
avoid mismatch issues as it only advertises 1000/FULL and not the others

---------- Forwarded message ----------
From: Bobby Buckle <>
Date: Tue, Apr 21, 2009 at 4:20 PM
Subject: gigabit - fix spd/dpx on the switch ? or autoneg ?

Hi there

We have a bit of a debate going here over what the prefered method is for
setting 1000/Full on e1000g or nge interfaces is.

As you aware the Solaris configration files for nge and e1000g dont allow
you to "fix" 1000/Full but instead allow you to set auto-negotiate to ON but
only advertise the capability to set 1000/Full. All of our Solaris boxes
have been configured using this method .... BUT,  on the Cisco switch side
we have recently discovered that half the sysadmins have been *FIXING* the
switchport to 1000/FULL and the other half have been setting the switchport
to *autonegotiate* ( mirroring the server config )

Now the thing is, both seem to work absolutely fine,

On the switch, the fixed ports come up as

*Gi1/36    server1   connected    3           full   1000 *

and the ones where the switch is configured as this
Gi1/12    server2   connected    3           a-full   a-1000 *

"*dladm show-dev*" on both Solaris boxes confirms that 1000/Full is set as

We are finally in the process of putting an absolute procedure together with
the preffered method of doing this , so what is the preffered method? My
understanding is that if you autoneg on one side it is best practice to
autoneg on the other ? is this correct ....? but as i say, both methods seem
to achieve the desired result

Any input would be greatly appreciated

sunmanagers mailing list
Received on Wed Apr 22 11:27:04 2009

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