Date: Fri, 04 Mar 2022 21:45:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262316 --- Comment #6 from J.R. Oldroyd <firstname.lastname@example.org> --- (In reply to Stefan Eßer from comment #4) To be clear, I would also oppose any commit that violates the Ethernet standard. I do now have the latest standard here, the 2018 version, in addition to my 2008 version. The standard does say that auto-negotiation is optional. And it defines half-duplex mode as the choice for when a peer does not respond to autoneg. This was to allow very old devices that did not have autoneg support to still work with newer devices that do have autoneg. But the statements: > the standard required a device to either participate in auto-negotiation or to be manually configured. > A manually configured Ethernet device must ignore the auto-negotiation request. are not correct by my reading. I do not see such statements. As I read it, a manually configured device may (in fact, it is highly recommended to) still participate in auto-negotiaton but it should limit what capabilities it advertizes to just those that have been configured. That way, the other end can match the configured capability if it has them. If not, autoneg will fail and the non-manually configured end is required to go to half-duplex which may result in a duplex mismatch. The standard requires participation in autoneg when manually configured for 1000base and that is already implemented in the em(4) driver. It is optional but not prohibited for 100base and 10base. By my reading, it is "highly recommended" that a device participate in autoneg if it has the capability. -- You are receiving this mail because: You are the assignee for the bug.