Enhancement of media_settings to include port speed based lookup

41 views
Skip to first unread message

Mike Beresford

unread,
Jan 15, 2021, 9:19:07 PM1/15/21
to sonic-platfo...@googlegroups.com
Hi all -

I'm looking at adding an enhancement to xcvrd to include the configured physical lane speed as part of the media_settings lookup. Is this workgroup active and the correct forum for having that discussion? If not, I assume that the preferred approach is to create a PR and bring the design to the top-level SONiC meeting?

Thanks!

Mike Beresford

Yin, Jeff

unread,
Jan 15, 2021, 11:58:47 PM1/15/21
to Mike Beresford, Devireddy, Srideep, Subramani, Dhanakumar, Vellalap, Subramaniam, Gopalarath, Sudharsan, sonic-platfo...@googlegroups.com
Hi Mike,

I think we can have a discussion in this distribution list, but the workgroup has not been meeting regularly. 

I would think the configured lane speed for a platform should already be in port_config.ini or platform.json though.

CC'ed some Dell team members for interest as well. 

Thanks,
Jeff

Sent from a mobile device; please excuse my brevity.

On Jan 15, 2021, at 18:19, 'Mike Beresford' via sonic-platform-workgroup <sonic-platfo...@googlegroups.com> wrote:



[EXTERNAL EMAIL]

--
You received this message because you are subscribed to the Google Groups "sonic-platform-workgroup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonic-platform-wor...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonic-platform-workgroup/CAD6wwA0R%3DJoyhSDpebcJv3i8hiKC2Wx7Z6cSV9F%3DRuc9roubOw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Mike Beresford

unread,
Jan 19, 2021, 11:44:51 AM1/19/21
to Yin, Jeff, Devireddy, Srideep, Subramani, Dhanakumar, Vellalap, Subramaniam, Gopalarath, Sudharsan, sonic-platfo...@googlegroups.com, Nipen Mody, Manali Kumar, Zhiming Zhuang, John Hamrick
+a few more folks on the Google side as well.

Thanks for the quick response Jeff. I think I wasn't clear - what I'm proposing adding is a method to look up the port attributes (preemphasis, main, idriver, etc...) based on an additional lookup based on the port's configured speed. The problem I'm looking to solve is that a transceiver may support multiple speeds (100G QSFPs can generally be run at 40G as well for example), with different port serdes settings based on which speed is configured. I think it would make the most sense to have this based on the lane speed to prevent ambiguity (the same transceiver could theoretically support the same 100G logical channel speed as 4x25G, 2x50G or 1x100G with upcoming OSFP/QSFP-DD modules).

I'm thinking something along these lines (though backward compatibility would also need to be considered):
   "PORT_MEDIA_SETTINGS": {
       "0": {
           "Default": {
           },
           "SOME-VENDOR-PART1234": {
              "10G": { # would be used for 10G (1x10G), 20G (2x10G) or 40G (4x10G)
                 "preemphasis": {
                     "lane0":"0xabcd",
                     "lane1":"0xabcd",
                     "lane2":"0xabcd",
                     "lane3":"0xabcd"
                 },
              },  
              "25G": { # would be used for 25G (1x25G), 50G (2x25G) or 100G (4x25G)
                 "preemphasis": {
                     "lane0":"0x1234",
                     "lane1":"0x1234",
                     "lane2":"0x1234",
                     "lane3":"0x1234"
                 },
              } 
           },

Aside from modification of the media_settings.json format, this would require xcvrd to be aware of the port's configured speed/number of lanes.

Mike

Mike Beresford

unread,
Jan 25, 2021, 12:25:52 PM1/25/21
to Yin, Jeff, Devireddy, Srideep, Subramani, Dhanakumar, Vellalap, Subramaniam, Gopalarath, Sudharsan, sonic-platfo...@googlegroups.com, Nipen Mody, Manali Kumar, Zhiming Zhuang, John Hamrick
Hi folks,

Just wondering if there are any thoughts/comments from the community here. This is something we're thinking to work on shortly.

My primary questions at the moment are:
  • how important is backward compatibility of media_settings.json? (how widely is it used?) The format might be cleaner if we can break backwards compatibility, but I suspect that may be unpopular.
    • for example having a "default:" or "*" as a fallback for if the speed isn't specified. If we don't do this, the existing logic (just builds a string out of any settings it finds) would need to be modified to skip things that look like speeds.
  • does using lane speed (as I suggested) make the most sense, or would something else be more appropriate (port speed + # of lanes could work, and may have the benefit of explicitly listing the speed the settings apply for)
Mike

Yin, Jeff

unread,
Jan 29, 2021, 1:34:21 AM1/29/21
to Mike Beresford, Devireddy, Srideep, Subramani, Dhanakumar, Vellalap, Subramaniam, Gopalarath, Sudharsan, sonic-platfo...@googlegroups.com, Nipen Mody, Manali Kumar, Zhiming Zhuang, John Hamrick

Hi Mike,

 

We definitely use media_settings.json on Dell platforms to support dynamic port settings, and from searching other vendor configs it looks like there are several others as well. I think backward compatibility is important since not all platforms really need to modify pre-emphasis based on port speed. And skipping things that look like speeds makes sense, or you could parse for a specific keyword like “LANESPEED-25G” to then trigger your speed-based lookup logic.

 

Using lane speed makes sense to me.

 

Thanks,

Jeff

 

From: Mike Beresford <mbe...@google.com>
Sent: Monday, January 25, 2021 09:25
To: Yin, Jeff
Cc: Devireddy, Srideep; Subramani, Dhanakumar; Vellalap, Subramaniam; Gopalarath, Sudharsan; sonic-platfo...@googlegroups.com; Nipen Mody; Manali Kumar; Zhiming Zhuang; John Hamrick
Subject: Re: Enhancement of media_settings to include port speed based lookup

 

[EXTERNAL EMAIL]

Reply all
Reply to author
Forward
0 new messages