* the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA?
@ 2026-06-26 14:15 D H, Siddaraju
2026-06-26 14:32 ` Andrew Lunn
2026-06-26 14:33 ` Maxime Chevallier
0 siblings, 2 replies; 12+ messages in thread
From: D H, Siddaraju @ 2026-06-26 14:15 UTC (permalink / raw)
To: netdev@vger.kernel.org
Cc: Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay
Hi Linux Ethernet Team,
We explored Ethtool's "10000base_CR" PMD PHY type
and we think it might be just a wrong name.
Why we called 10000Base_CR, a confusing name?
Because it fails all below 4 major highlights of a "typical base-CR"
1. Every other Base-CR is an IEEE defined PMD specs
2. All Base-CR have AN LT (Auto-Negotiation & Link Training)
3. Almost all CR have FEC mandatory
4. IEEE CR is a very close sibling of IEEE KR, the complex ones
There is NO IEEE 802.3 or ANY other standard spec to
support 10000base-CR and the industry fully adopted
SFF-8431 Appendix-E Direct Attach cable as 10G-SFI-DA.
We feel 10000Base_CR must be renamed to 10000_SFI_DA.
SFI: SFP+ high speed serial electrical interface
DA: Direct Attach cable media
Need your inputs for the next step here. Should we,
(a) Submit a patch to rename all instance of 10000baseCR
OR
(b) Create a new enum for SFI_DA and map it to 10000baseCR?
We prefer option-(a) since it completely resolves the confusion
and gives a technically correct name.
- Thank you,
Siddaraju D H
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 14:15 the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? D H, Siddaraju @ 2026-06-26 14:32 ` Andrew Lunn 2026-06-26 18:12 ` D H, Siddaraju 2026-06-26 14:33 ` Maxime Chevallier 1 sibling, 1 reply; 12+ messages in thread From: Andrew Lunn @ 2026-06-26 14:32 UTC (permalink / raw) To: D H, Siddaraju Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay On Fri, Jun 26, 2026 at 02:15:27PM +0000, D H, Siddaraju wrote: > Hi Linux Ethernet Team, > > We explored Ethtool's "10000base_CR" PMD PHY type > and we think it might be just a wrong name. ~/linux$ grep -r 10000Base_CR ~/linux$ ~/ethtool$ grep -r 10000Base_CR ~/ethtool$ What exactly do you mean by 10000Base_CR? Andrew ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 14:32 ` Andrew Lunn @ 2026-06-26 18:12 ` D H, Siddaraju 2026-06-26 18:18 ` Andrew Lunn 0 siblings, 1 reply; 12+ messages in thread From: D H, Siddaraju @ 2026-06-26 18:12 UTC (permalink / raw) To: Andrew Lunn Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay Sorry Andrew, carry-forwarded IEEE's PMD naming convention of separating media "-CR" :D. Will stick to Ethtool :). I was referring to "ETHTOOL_LINK_MODE_10000baseCR_FULL_Full_BIT" and its associated documentations Andrew. - Thank you, Siddaraju D H -----Original Message----- From: Andrew Lunn <andrew@lunn.ch> Sent: Friday, June 26, 2026 8:02 PM To: D H, Siddaraju <siddaraju.dh@intel.com> Cc: netdev@vger.kernel.org; Das, Shubham <shubham.das@intel.com>; Chintalapalle, Balaji <balaji.chintalapalle@intel.com>; Srinivasan, Vijay <vijay.srinivasan@intel.com> Subject: Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? On Fri, Jun 26, 2026 at 02:15:27PM +0000, D H, Siddaraju wrote: > Hi Linux Ethernet Team, > > We explored Ethtool's "10000base_CR" PMD PHY type and we think it > might be just a wrong name. ~/linux$ grep -r 10000Base_CR ~/linux$ ~/ethtool$ grep -r 10000Base_CR ~/ethtool$ What exactly do you mean by 10000Base_CR? Andrew ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 18:12 ` D H, Siddaraju @ 2026-06-26 18:18 ` Andrew Lunn 2026-06-26 19:19 ` D H, Siddaraju 0 siblings, 1 reply; 12+ messages in thread From: Andrew Lunn @ 2026-06-26 18:18 UTC (permalink / raw) To: D H, Siddaraju Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay On Fri, Jun 26, 2026 at 06:12:15PM +0000, D H, Siddaraju wrote: > Sorry Andrew, carry-forwarded IEEE's PMD naming convention of separating media "-CR" :D. Will stick to Ethtool :). > I was referring to "ETHTOOL_LINK_MODE_10000baseCR_FULL_Full_BIT" and its associated documentations Andrew. Please don't top post. And set your mail client to wrap to around 75 characters. All standard netiquette things. It is a good idea to be specific when asking questions. Asking about something which does not exist in the kernel just makes it a guessing game. As Maxime pointed out, this is uAPI, so cannot be changed. Andrew ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 18:18 ` Andrew Lunn @ 2026-06-26 19:19 ` D H, Siddaraju 2026-06-29 9:30 ` Maxime Chevallier 0 siblings, 1 reply; 12+ messages in thread From: D H, Siddaraju @ 2026-06-26 19:19 UTC (permalink / raw) To: Andrew Lunn, Maxime Chevallier Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay Sure, thanks for pointing them, Andrew, will follow. Now I realized what you meant there, thank you for the quick feedback. About options, Ok, got it: "option-(a): renaming *10000baseCR*" is out. Sure, will support this from uAPI backward-compatibility point-of-view. Just to highlight Maxime, yes during exploration, we too came across those few vendor products. But when we looked further to understand which standard those 10GBaseCR cables were following, we found they all explicitly call out that its SFP+ DA conforming to SFF-8431. What about "option-(b): create a new enum ETHTOOL_LINK_MODE_10G_SFI_DA_Full_BIT"? Idea is just to create a new enum, with same enum value of 10000baseCR. This will NOT consume a bit position in "ethtool_link_mode_bit_indices". It just helps those tech-savvy people, who does not accept 10000baseCR and prefer 10000sfiDA for being explicit. At worst case, hope we agree for "option-(c): ethtool.8 man page help strings to indicate 10G_SFI_DA" Something like "10000baseCR (10G_SFI_DA SFF-8431 SFP+ DA) under "advertise" mask values. - Thank you, Siddaraju D H ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 19:19 ` D H, Siddaraju @ 2026-06-29 9:30 ` Maxime Chevallier 2026-06-29 11:25 ` D H, Siddaraju 2026-06-29 18:14 ` Michal Kubecek 0 siblings, 2 replies; 12+ messages in thread From: Maxime Chevallier @ 2026-06-29 9:30 UTC (permalink / raw) To: D H, Siddaraju, Andrew Lunn Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay, Michal Kubecek Hi, +Michal On 6/26/26 21:19, D H, Siddaraju wrote: > Sure, thanks for pointing them, Andrew, will follow. > Now I realized what you meant there, thank you for the quick feedback. > > About options, > Ok, got it: "option-(a): renaming *10000baseCR*" is out. > Sure, will support this from uAPI backward-compatibility point-of-view. > > Just to highlight Maxime, yes during exploration, we too came across > those few vendor products. But when we looked further to understand > which standard those 10GBaseCR cables were following, we found they all > explicitly call out that its SFP+ DA conforming to SFF-8431. > > What about > "option-(b): create a new enum ETHTOOL_LINK_MODE_10G_SFI_DA_Full_BIT"? > Idea is just to create a new enum, with same enum value of 10000baseCR. > This will NOT consume a bit position in "ethtool_link_mode_bit_indices". > It just helps those tech-savvy people, who does not accept 10000baseCR > and prefer 10000sfiDA for being explicit. The thing is that even with a new enum value, that won't bring much to the table. It would likely be better to have a comment near the 10000baseCR definition explaining the SFF equivalency. > > At worst case, hope we agree for > "option-(c): ethtool.8 man page help strings to indicate 10G_SFI_DA" > Something like > "10000baseCR (10G_SFI_DA SFF-8431 SFP+ DA) > under "advertise" mask values. In that case, let's add Michal in the loop as the ethtool maintainer. Even then it's not straightforward as some tooling relies on the JSON output from ethtool, so _if_ we change the output for that mode, it should only be in the non-json output. My personal opinion would be that adding a comment in the enum definition near 10000baseCR is enough :/ Maxime ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-29 9:30 ` Maxime Chevallier @ 2026-06-29 11:25 ` D H, Siddaraju 2026-06-29 13:11 ` Andrew Lunn 2026-06-29 18:14 ` Michal Kubecek 1 sibling, 1 reply; 12+ messages in thread From: D H, Siddaraju @ 2026-06-29 11:25 UTC (permalink / raw) To: Maxime Chevallier, Andrew Lunn, Michal Kubecek Cc: netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay, Lindberg, Magnus, Niklas Damberg, Wirandi, Jonas, Siddaraju DH On 6/29/26, Maxime Chevallier wrote: > > On 6/26/26 21:19, D H, Siddaraju wrote: > > > What about > > "option-(b): create a new enum ETHTOOL_LINK_MODE_10G_SFI_DA_Full_BIT"? > > Idea is just to create a new enum, with same enum value of 10000baseCR. > > This will NOT consume a bit position in "ethtool_link_mode_bit_indices". > > It just helps those tech-savvy people, who does not accept 10000baseCR > > and prefer 10000sfiDA for being explicit. > > The thing is that even with a new enum value, that won't bring much to the > table. It would likely be better to have a comment near the 10000baseCR > definition explaining the SFF equivalency. > > > > > At worst case, hope we agree for > > "option-(c): ethtool.8 man page help strings to indicate 10G_SFI_DA" > > Something like > > "10000baseCR (10G_SFI_DA SFF-8431 SFP+ DA) > > under "advertise" mask values. > > In that case, let's add Michal in the loop as the ethtool maintainer. > Even then it's not straightforward as some tooling relies on the JSON > output from ethtool, so _if_ we change the output for that mode, it should > only be in the non-json output. > > My personal opinion would be that adding a comment in the enum definition > near 10000baseCR is enough :/ Will wait for @Michal Kubecek's response about the manual page update and as second possibility: options to update ethtool help string. IMHO, yes the comment in ethtool.h enum definition is good as it helps developers who use ethtool.h directly but from ethtool app USER point-of-view, the manual page is the first impression and ethtool --help is second. The effort here is to help the user with a clarification, to avoid the clear confusion with the wrong naming of 10000baseCR for all the major 4 reasons listed in the first email of this thread. With that said, hope that someone will also support the manual page update because we think it is useful. - Thank you, Siddaraju D H ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-29 11:25 ` D H, Siddaraju @ 2026-06-29 13:11 ` Andrew Lunn 2026-06-29 17:29 ` D H, Siddaraju 0 siblings, 1 reply; 12+ messages in thread From: Andrew Lunn @ 2026-06-29 13:11 UTC (permalink / raw) To: D H, Siddaraju Cc: Maxime Chevallier, Michal Kubecek, netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay, Lindberg, Magnus, Niklas Damberg, Wirandi, Jonas, Siddaraju DH > Will wait for @Michal Kubecek's response about the manual page update > and as second possibility: options to update ethtool help string. > > IMHO, yes the comment in ethtool.h enum definition is good > as it helps developers who use ethtool.h directly but from > ethtool app USER point-of-view, the manual page is the > first impression and ethtool --help is second. The effort here is > to help the user with a clarification, to avoid the clear confusion > with the wrong naming of 10000baseCR Is there confusion? git blame suggests it has been there 10 years, and this is the first time somebody has questioned it. I would limit changes to Documentation, man pages, help etc. Andrew ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-29 13:11 ` Andrew Lunn @ 2026-06-29 17:29 ` D H, Siddaraju 0 siblings, 0 replies; 12+ messages in thread From: D H, Siddaraju @ 2026-06-29 17:29 UTC (permalink / raw) To: Andrew Lunn Cc: Maxime Chevallier, Michal Kubecek, netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay, Lindberg, Magnus, Niklas Damberg, Wirandi, Jonas, Siddaraju DH On 6/29/26, Andrew Lunn wrote, > Is there confusion? git blame suggests it has been there 10 years, > and this is the first time somebody has questioned it. > > I would limit changes to Documentation, man pages, help etc. Yes Andrew, as summarized in the first email of this thread, there is no standard to explicitly support 10000baseCR and it conflicts with so many characteristics of a "typical IEEE *baseCR". Based on my internal discussion & feedback, it seems people are using 10000baseCR with 10G-SFI-DA cables but the question "why should I set it to 10000baseCR while using 10G_SFI_DACables?" keeps coming back along with the subsequent questions to seek clarity against the "IEEE *baseCR" definitions. This is an effort to settle it down for once & all. With option-(c) it is just to add a clarity that 10000baseCR is SFF-8431 SFP+ Direct Attach (DA) standard with SFI interface. - Thank you, Siddaraju D H ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-29 9:30 ` Maxime Chevallier 2026-06-29 11:25 ` D H, Siddaraju @ 2026-06-29 18:14 ` Michal Kubecek 2026-07-02 14:54 ` D H, Siddaraju 1 sibling, 1 reply; 12+ messages in thread From: Michal Kubecek @ 2026-06-29 18:14 UTC (permalink / raw) To: Maxime Chevallier Cc: D H, Siddaraju, Andrew Lunn, netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay [-- Attachment #1: Type: text/plain, Size: 3328 bytes --] On Mon, Jun 29, 2026 at 11:30:43AM GMT, Maxime Chevallier wrote: > > What about > > "option-(b): create a new enum ETHTOOL_LINK_MODE_10G_SFI_DA_Full_BIT"? > > Idea is just to create a new enum, with same enum value of 10000baseCR. > > This will NOT consume a bit position in "ethtool_link_mode_bit_indices". > > It just helps those tech-savvy people, who does not accept 10000baseCR > > and prefer 10000sfiDA for being explicit. > > The thing is that even with a new enum value, that won't bring much to > the table. It would likely be better to have a comment near the > 10000baseCR definition explaining the SFF equivalency. > > > > > At worst case, hope we agree for > > "option-(c): ethtool.8 man page help strings to indicate 10G_SFI_DA" > > Something like > > "10000baseCR (10G_SFI_DA SFF-8431 SFP+ DA) > > under "advertise" mask values. > > In that case, let's add Michal in the loop as the ethtool maintainer. Even > then it's not straightforward as some tooling relies on the JSON output > from ethtool, so _if_ we change the output for that mode, it should only > be in the non-json output. The biggest problem I see here is that even if ethtool has its own link mode tables, those are only for backward compatibility and as long as reasonably new ethtool and kernel are in use, ethtool gets the link mode names from kernel. There are multiple aspects: 1. The UAPI constants. These are part of kernel uAPI and ethtool just gets a sanitized copy of kernel file. In other words, if we want any change here (even adding a comment), it has to be done on kernel side and ethtool gets the change on next uapi sync. Adding an alias here would be quite simple. 2. Link mode names as shown in "ethtool <dev>" output. These are normally retrieved from kernel via the ETH_SS_LINK_MODES string set. In other words, if any change were desired, it would have to happen on kernel side as well. And unless we add a specific exception to the code, the same name is shown in both plain text and json output. (Personally I don't think it would be a good idea to show different name in each.) 3. Link mode names that can be used in "ethtool -s" command line. These are handled exactly the same way as names used for output. Here I could imagine an alias implemented on ethtool side but it would have to be hard coded in ethtool and it would only work in (new versions of) ethtool. In general, names shown by "ethtool <dev>" should match those expected on "ethtool -s" command line, any mismatch would be very confusing and impractical. 4. Adding a text to ethtool(8) manual page is possible. While most of the link mode table in the man page is (unsurprisingly) generated, it is then reordered manually and adding a note would definitely be possible. One just needs to be careful about the table formatting. (Yes, I'm aware that this table has been getting out of hand for some time and I'm thinking about ways to make it more readable and useful. Suggestions are welcome.) > My personal opinion would be that adding a comment in the enum definition > near 10000baseCR is enough :/ That would certainly be the easiest solution but as I said above, it would be a kernel code change, ethtool would just inherit the updated header file. Michal [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-29 18:14 ` Michal Kubecek @ 2026-07-02 14:54 ` D H, Siddaraju 0 siblings, 0 replies; 12+ messages in thread From: D H, Siddaraju @ 2026-07-02 14:54 UTC (permalink / raw) To: Michal Kubecek, Maxime Chevallier Cc: Andrew Lunn, netdev@vger.kernel.org, Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay, Lindberg, Magnus, Niklas Damberg, Wirandi, Jonas, Siddaraju DH Thank you all for your inputs and Michal for the detailed summary. Keeping all the points in mind, and to avoid complexities with generated file content, we resorted to static help/comment strings. Since these were straightforward strings, I went ahead and sent the patches with subject "link 10000baseCR to SFF-8431, Appendix-E SFP+ DA". - Thank you, Siddaraju D H ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? 2026-06-26 14:15 the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? D H, Siddaraju 2026-06-26 14:32 ` Andrew Lunn @ 2026-06-26 14:33 ` Maxime Chevallier 1 sibling, 0 replies; 12+ messages in thread From: Maxime Chevallier @ 2026-06-26 14:33 UTC (permalink / raw) To: D H, Siddaraju, netdev@vger.kernel.org Cc: Das, Shubham, Chintalapalle, Balaji, Srinivasan, Vijay Hi, On 6/26/26 16:15, D H, Siddaraju wrote: > Hi Linux Ethernet Team, > > We explored Ethtool's "10000base_CR" PMD PHY type > and we think it might be just a wrong name. > > Why we called 10000Base_CR, a confusing name? > Because it fails all below 4 major highlights of a "typical base-CR" > 1. Every other Base-CR is an IEEE defined PMD specs > 2. All Base-CR have AN LT (Auto-Negotiation & Link Training) > 3. Almost all CR have FEC mandatory > 4. IEEE CR is a very close sibling of IEEE KR, the complex ones > > There is NO IEEE 802.3 or ANY other standard spec to > support 10000base-CR and the industry fully adopted > SFF-8431 Appendix-E Direct Attach cable as 10G-SFI-DA. > > We feel 10000Base_CR must be renamed to 10000_SFI_DA. > SFI: SFP+ high speed serial electrical interface > DA: Direct Attach cable media Well it's too late for a rename, this is part of the userspace API so this name is here to stay : https://elixir.bootlin.com/linux/v7.1.1/source/include/uapi/linux/ethtool.h#L2013 This was introduced in 2016, I think we won't gain much by adding another linkmode that's equivalent. Even if this isn't strictly speaking the correct mode, even some vendors sell their DA cable as 10GBaseCR cables now :/ Maxime ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-07-02 14:54 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-06-26 14:15 the confusing 10000base_CR. Shouldn't it be 10000_SFI_DA? D H, Siddaraju 2026-06-26 14:32 ` Andrew Lunn 2026-06-26 18:12 ` D H, Siddaraju 2026-06-26 18:18 ` Andrew Lunn 2026-06-26 19:19 ` D H, Siddaraju 2026-06-29 9:30 ` Maxime Chevallier 2026-06-29 11:25 ` D H, Siddaraju 2026-06-29 13:11 ` Andrew Lunn 2026-06-29 17:29 ` D H, Siddaraju 2026-06-29 18:14 ` Michal Kubecek 2026-07-02 14:54 ` D H, Siddaraju 2026-06-26 14:33 ` Maxime Chevallier
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox