-
Notifications
You must be signed in to change notification settings - Fork 194
Add support for LPO in media_settings_parser #687
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Add support for LPO in media_settings_parser #687
Conversation
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@longhuan-cisco How about the TRO vs LPO? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bobby-nexthop can you review?
|
@longhuan-cisco I don' t think |
The reason of adding this e.g, Arista today already has a few media_settings.json files using
|
I'm not sure if we need to support TRO at this point. Haven't heard of immediate requirement. And I could't find related info on sff8024 spec, even LPO related codes were just recently introduced/finalized on sff8024, not sure if there's a way to differentiate TRO from other optics based on standard codes. |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
One way I can think of to not remove the need ENABLE_EXTENDED_MEDIA_TYPE_MATCHING and keep backwards compatibility is to use a fallback instead: if get_is_lpo(physical_port):
return MEDIA_LPO
return MEDIA_OPTICALThen add some form of fallback logic when looking up settings: def get_media_settings_value(port_config, medium_lane_speed_key):
# Try exact match first
if medium_lane_speed_key in port_config:
return port_config[medium_lane_speed_key]
# If LPO key not found, automatically fallback to OPTICAL and log
@prgeor @longhuan-cisco any thoughts ? |
dependency: sonic-net/sonic-platform-common#599
Description
LPO (Linear Pluggable Optics) is a new type of optical module without DSP, in which case the role of DSP (retiming/etc) is offloaded to host/NPU side, which generally might require different NPU SI settings to achieve good signal quality compared to today's DSP-based optics.
medium_lane_speed_keyin media_settings.json only supports two media_types OPTICAL and COPPER, additionally LPO as (extended) media_type is needed.Example media_settings.json:
Motivation and Context
How Has This Been Tested?
Additional Information (Optional)