Teneo !!!

Aaron’s blog on Networking, and Enterprise Technology

Juniper EX Switch auto-negotiate gotcha

I ran into a problem today with interfacing a Juniper switch interface with an ATT fiber line. This was not a switchport, but rather, a layer-3 interface connecting to a 100Mbps fiber line.

We were noticing severe network issues over this line. While we were getting end-to-end connectivity, large traffic was suffering at an astounding rate. I checked both my interfaces and showed no errors.

After calling ATT, I found out they were receiving a slew of CRC and framing errors on their end. We eventually found out that they hard-coded their interface as 100-full while I was still at auto-negotiate. A failure on my end as I should have known better.

So, I changed the interface to 100-full:

Set interfaces ge-0/0/0 ether-options link-mode full-duplex 100m

But, to my dismay, the interface went hard down, and never came back up. If this happened to you, then chances are that you are a Cisco guy, just like me. After looking at the options under “ether-options” I noticed the entry “no-auto-negotiate”.

That’s right, folks…. You ALSO have to disable auto-negotiate too:

Set interfaces ge-0/0/0 ether-options no-auto-negotiate

That did it! Lesson learned. While I do like the Junipers, there is still a learning-curve for me. I also feel that disabling auto negotiate manually is a bit redundant if I already set the interface to 100-full.

3 responses to “Juniper EX Switch auto-negotiate gotcha

  1. Dan June 3, 2010 at 8:17 am

    I wonder if the auto-negotiation feature is enabled by default, even if the speed and duplex are set, because it is a GigE port. I seem to recall something about auto-negotiation being enabled as part of the GigE standard so maybe they left it enabled regardless of speed/duplex setting. I have also seen older (and likely newer) Solaris be this way – where auto-negotiation and speed/duplex are exclusive of each other. Caused nothing but grief when CatOS 8 was paired with Solaris 8. Solaris 10 seemed to clean some of that up, though.

  2. John June 3, 2010 at 7:13 pm


    The juniper default is equivalent to:

    Set interfaces ge-0/0/0 ether-options auto-negotiation link-mode auto speed auto

    This enables auto-negotiation and advertises both half/full duplex and speeds 10m/100m/1000m to the link partner. If the interface is set:

    Set interfaces ge-0/0/0 ether-options auto-negotiation link-mode full-duplex speed 100m

    This enables auto-negotiation and advertises only full duplex and speed 100m to the link partner. If the link partner is compatible with this the link should come up. If the interface is set:

    Set interfaces ge-0/0/0 ether-options no-auto-negotiation link-mode full-duplex speed 100m

    Then auto-neg is disabled, duplex is set to full, and speed is fixed at 100m. If auto-neg is enabled the speed setting controls the capability advertised to the link partner.

    This really only applies to copper interfaces. Fiber interfaces in general do not support auto-neg for speed and 100m fiber interfaces do not support any type of auto-negotiation by design.

    • Aaron Paxson June 4, 2010 at 4:49 pm

      John, that makes perfect sense! Thanks for adding your comment!! I understand now. Wish I knew that earlier…… ((grin))

      Also, while it is a fiber line, AT&T hands off copper, which means my uplink is an ethernet port, which I just enabled as an L3 interface.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: