Skip to content

[CPO] Update CPO Port Mapping HLD with Minor Corrections - #2469

Merged
prgeor merged 3 commits into
sonic-net:masterfrom
nexthop-ai:cpo-port-mapping-corrections
Jul 28, 2026
Merged

[CPO] Update CPO Port Mapping HLD with Minor Corrections#2469
prgeor merged 3 commits into
sonic-net:masterfrom
nexthop-ai:cpo-port-mapping-corrections

Conversation

@bgallagher-nexthop

Copy link
Copy Markdown
Contributor

Add some minor updates to the port mapping HLD to reflect the latest code changes made in the following PRs:

Changes:

  • Add ChassisBase changes to store CPO objects in self._cpo_list.
  • Update field names in cpo.json schema.

Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
@bgallagher-nexthop
bgallagher-nexthop marked this pull request as ready for review July 21, 2026 23:39
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

…ment

Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

@prgeor prgeor left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eddyk-nvidia @micas-net please review

Comment on lines -151 to +152
// laser_to_lane_mapping provides a mapping of laser to which lane it is powering.
"laser_to_lane_mapping": {
// laser_to_asic_lane_mapping provides a mapping of laser to which ASIC lane it is powering.
"laser_to_asic_lane_mapping": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What kind of lane does asic lane want to distinguish?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

asic_lane in this file refers to the ASIC SerDes lanes that interface with the on-package optical engine.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea, I think no need to add 'asic' since when we mention lane it does mean serdes lane.

Comment thread doc/platform/port_mapping_for_cpo.md
```

Additionally, CPO devices will be stored separately to traditional `SfpBase`-derived objects on a Chassis object in `self._cpo_list`. Accessors like
`get_num_cpos`, `get_cpo` and `get_all_cpos` will be implemented on `ChassisBase`, the same as are available for accessing `self._sfp_list`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you plan to integrate the get_cpo() api into xcvrd, given that xcvrd currently relies on get_sfp() for all transceiver operations?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check out Section "7.4 Port Device Access" of the xcvrd CPO HLD (#2444). That, and other sections for the xcvrd tasks, provide some detail around how xcvrd will use these methods to access CPO objects.

sonic-net/sonic-platform-daemons#843 also contains code that shows how this Chassis code will be used.

@prgeor
prgeor merged commit c82481d into sonic-net:master Jul 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants