Skip to content

CPO support in xcvrd HLD#2444

Draft
bgallagher-nexthop wants to merge 1 commit into
sonic-net:masterfrom
nexthop-ai:xcvrd-cpo
Draft

CPO support in xcvrd HLD#2444
bgallagher-nexthop wants to merge 1 commit into
sonic-net:masterfrom
nexthop-ai:xcvrd-cpo

Conversation

@bgallagher-nexthop

Copy link
Copy Markdown
Contributor

No description provided.

@bgallagher-nexthop bgallagher-nexthop changed the title [CPO] CPO support in xcvrd HLD CPO support in xcvrd HLD Jul 7, 2026
@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

@mssonicbld

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

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

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.

Comment thread doc/pmon/xcvrd_cpo.md

###### 7.2.2.2 Refactor of DomInfoUpdateTask Database Publishing Utilities

The `DomInfoUpdateTask` currently uses many utilities to collect information and publish it to the database. Many of these functions follow

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 are the DomInfoUpdateTask functions that do not follow the “read from EEPROM, then publish to DB” pattern expected to be handled by this refactoring? Could you also provide an example of such a function and explain how the proposed design would apply to it?

Comment thread doc/pmon/xcvrd_cpo.md
# self.cpo_obj_dict contains all CPO ports
cpo_manager = None
if self.cpo_obj_dict:
cpo_manager = CpoManagerTask(self.namespaces, port_mapping_data, self.cpo_obj_dict, self.stop_event)

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.

I think we should add a skip_cpo_mgr flag for CpoManagerTask, similar to the existing skip_cmis_mgr flag for CmisManagerTask. This would provide the option to delegate CPO module configuration to the firmware instead of handling it through xcvrd on platforms that support this.

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.

3 participants