[CPO] Update CPO Port Mapping HLD with Minor Corrections - #2469
Conversation
Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
|
/azp run |
|
No pipelines are associated with this pull request. |
…ment Signed-off-by: Brian Gallagher <bgallagher@nexthop.ai>
|
/azp run |
|
No pipelines are associated with this pull request. |
prgeor
left a comment
There was a problem hiding this comment.
@eddyk-nvidia @micas-net please review
| // 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": { |
There was a problem hiding this comment.
What kind of lane does asic lane want to distinguish?
There was a problem hiding this comment.
asic_lane in this file refers to the ASIC SerDes lanes that interface with the on-package optical engine.
There was a problem hiding this comment.
Yea, I think no need to add 'asic' since when we mention lane it does mean serdes lane.
| ``` | ||
|
|
||
| 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`. |
There was a problem hiding this comment.
How do you plan to integrate the get_cpo() api into xcvrd, given that xcvrd currently relies on get_sfp() for all transceiver operations?
There was a problem hiding this comment.
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.
Add some minor updates to the port mapping HLD to reflect the latest code changes made in the following PRs:
Changes:
ChassisBasechanges to store CPO objects inself._cpo_list.cpo.jsonschema.