I’ve done a number of network assessments in which I find that the customer insists on manually configuring the interfaces for full duplex. I did a little research on the topic and found an interesting paper by Jim Eggers and Steve Hodnett at Sun Microsystems (Ethernet Autonegotiation Best Practices). It is from 2004 and while that’s a few years ago, it shows what the accepted practice was back then. Of particular interest to me was the section titled “Loss of Functionality and Capabilities,” which describes a set of problems that can occur when auto duplex is disabled. Of course, there are the problems and packet loss that occur if you have a duplex mismatch. But of particular interest is how the lack of duplex sensing may affect the ethernet interface’s ability to detect signal quality or to quickly detect link failures.
At a recent Cisco seminar, the presenter recommended that auto-negotiate be used, particularly on fiber interfaces, for fast link failure discovery. Let’s say that two systems, A and B are connected to each other and that the cabling is damaged in such a way that it becomes uni-directional (system A is receiving from system B, system B is not receiving from system A) System B will begin the negotiation process towards system A, which tells A that the link is now uni-directional. This information can now be quickly propagated up the stack so that the higher level protocols can react and hopefully select an alternate path around the problem.
The state of the technology has certainly improved since 2004. Cisco’s recommendation is to use auto-duplex. The problems in the early days of auto-negotiation are behind us, so I recommend that anyone who is still hard-coding duplex take a look at it and think about whether it is a good practice to continue to hard-coding duplex.
Re-posted with Permission
NetCraftsmen would like to acknowledge Infoblox for their permission to re-post this article which originally appeared in the Applied Infrastructure blog under https://community.infoblox.com/t5/Blogs/ct-p/blogs.