On Thu, Dec 19, 2019 at 06:32:51PM +0000, Madalin Bucur wrote: > 10GBase-R could be used as a common nominator but just as well 10G and > remove the rest while we're at it. There are/may be differences in > features, differences in the way the HW is configured (the most > important aspect) and one should be able to determine what interface > type is in use to properly configure the HW. SFI does not have the CDR > function in the PMD, relying on the PMA signal conditioning vs the XFI > that requires this in the PMD. I've now found a copy of INF-8077i on the net, which seems to be the document that defines XFI. The definition in there seems to be very similar to SFI in that it is an electrical specification, not a protocol specification, and, just like SFI, it defines the electrical characteristics at the cage, not at the serdes. Therefore, the effects of the board layout come into play to achieve compliance with XFI. Just like SFI, XFI can be used with multiple different underlying protocols. I quote: "The XFI interface is designed to support SONET OC-192, IEEE.Std-802.3ae, 10GFC and G.709(OTU-2) applications." Therefore, to describe 10GBASE-R as "XFI" is most definitely incorrect. 10GBASE-R is just _one_ protocol that can be run over XFI, but it is not the only one. As for CDR, INF-8077i says: "The XFP module shall include a Signal Conditioner based on CDR (Clock Data Recovery) technology for complete regeneration." Whereas for SFP modules, SFF-8472 revision 11.4 added optional support for CDR on the modules. In any case, the CDR is a matter for the module itself, not for the host, so it seems that isn't relevent. Everything that I've said concerning SFI in my previous email (in date order), and why we should not be defining that as a phy_interface_t seems to also apply to XFI from what I've read in INF-8077i, and it seems my original decision that we should not separately define XFI and SFI from 10GBASE-R is well founded. Given that meeting these electrical characteristics involves the effects of the board, and it is impractical for a board to switch between different electrical characteristics at runtime (routing serdes lanes to both a SFP+ and XFP cage is impractical due to reflections on unterminated paths) I really don't see any reason why we need two different phy_interface_t definitions for these. As mentioned, the difference between XFI and SFI is electrical, and involves the board layout, which is a platform specific issue. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up