> 
> > It turns out that the patch works fine for the specific issue it's
> > trying to address (Juniper switch), but for (seemingly all) other devices 
> > it breaks
> the autonegotiation.
> 
> So it sounds like you need to figure out the nitty-gritty details of what is 
> going
> on with the Juniper switch. Once you understand that, you might be able to 
> find
> a workaround which works for all systems.
> 
>     Andrew

This was originally worked out by Doug Boom at Intel.  It had to do with 
autonegotiation not being the part of the SFP optics when the Denverton X550 Si 
was released and was thus not POR for DNV.   The Juniper switches however won't 
exit their AN sequence unless an AN37 transaction is seen.  Other switch 
vendors recover gracefully when the right encoding is discovered, not using 
AN37 transactions, but not Juniper.  Since DNV doesn't do AN37 in SFP auto 
mode, there's an endless loop.   (Technically, the switches *could* be updated 
to new firmware that should have this capability, but apparently a logistical 
issue for at least one of our customers.)  

Going back through my emails, Doug did mention that it would possibly cause 
issues with other switches, but it wasn't anything we, or (until just recently) 
anyone else had observed.  A quote from Doug:  

"that AN37 fix pretty much only works with the Juniper switches, and can cause 
problems with other switches."

Initially I wanted to have this patch wrapped in a module parameter to avoid 
any potential issues, but that was shot down for the same reasons you initially 
commented about.  The unwrapped patch was accepted however.  It was a couple 
years before the potential other switch issue actually showed up and the patch 
was reverted.  Our customer still wants the code in the mainline kernel driver, 
maintaining a separate patch was not something that was acceptable to them, so 
we are.  This was all gone around with Intel a couple of years before and the 
solution for a non-updated Juniper MX5T switch is orthogonal to other switch 
support, thus the patch with the module parameter.

Reply via email to