On Aug 28, 2004, at 7:39 AM, Rich Adamson wrote:

I do a lot of work with companies throughout the US on network performance
and we _frequently_ run into routers, switches, servers, etc, that are
allowed to auto-negotiate their half vs full duplex nic interfaces. About
50% of the time, systems will get it wrong as there are no standards as
to how the negotiation should be done.

No standard? Huh? You mean besides 'NWay', which is part of 802.3? http://www.scyld.com/NWay.html


I've certainly seen problems, particularly with older Cisco switches and routers, but newer hardware seems to be pretty good. In fact, autonegotiation is *required* with GigE; you aren't even allowed to disable it according to the specs. Of course, that's sort of moot, because 1000/half isn't even slightly useful due to its 640-byte minimum packet size.

At my previous employer, we were having tons of duplex problems. They mostly boiled down to forced duplex problems, where someone would force one end of a link, but leave the other end to autonegotiate. With most of Cisco's hardware, forcing 100/full *completely* disables autonegotiation. IMHO, it should still participate in autonegotiation, but only advertise the 100/full ability. Instead, Cisco tells the other end "I don't negotiate." So, if you set one end to 100/full and fail to force the other end, then it will try to negotiate, fail, and fall back to 100/half, because that's the only reasonable thing to when negotiation fails. At this point, one end is 100/full and the other is 100/half, and you're about to have trouble. The really fun thing with this sort of link is that it works just fine with low traffic levels--a normal ping won't show problems, but it'll break when you actually try to use it for anything non-trivial. Using larger ping packets helps: ping -s 10000 totally fails if the duplex is broken anywhere along the link.

With newer IOS and CatOS builds, you can get around this by leaving CDP enabled; CDP v2 shares duplex information, and it'll log duplex mis-matches when both ends of the link use Cisco hardware. I wrote a small CDP listener for Linux boxes and did the same thing, logging duplex mis-matches. With 700 servers over 2 years, the only mismatches we ever found were caused by forced 100/full on the switches.

One easy fix that we found, at least for IOS switches, was to set the speed to auto but force the duplex. That apparently leaves NWay negotiation running but only advertises full duplex as an option. Since nothing *ever* uses NWay to negotiate the speed of the link, this has the same result as forcing 100/full, but it fails in the right direction if you only force one end of the link. Of course, knowing Cisco, this only applies for every third model of switch running even-numbered IOS builds.


Scott

_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to