Skip to content

Adding new interface CEILR and CEILR_ER#2256

Open
prafull-brcm wants to merge 6 commits intoopencomputeproject:masterfrom
prafull-brcm:patch-4
Open

Adding new interface CEILR and CEILR_ER#2256
prafull-brcm wants to merge 6 commits intoopencomputeproject:masterfrom
prafull-brcm:patch-4

Conversation

@prafull-brcm
Copy link
Copy Markdown
Contributor

@prafull-brcm prafull-brcm commented Feb 24, 2026

Adding new electrical interface CEILR for normal reach and CEILR_ER to enable extended reach option in SERDES.

CEIMR interface is added for medium reach interconnect cable < 50cm length to connect chip to chip on same PCB.
CEILR and CEILR_ER (extended reach) interface is added to connect with cable (twin-axial copper cable backplane) < 1 m for communication interface between two cards across a backplane.
These interfaces follows OIF’s (Optical Internetworking Forum ) Common Electrical Interface.

The inteface type is set during create port using attribute SAI_PORT_ATTR_INTERFACE_TYPE and new interfaces (CEILR, CEILR_ER and CEIMR) are added to enum sai_port_interface_type_t.
Here is the ussage detail:
/**

  • @brief Configure Interface type
  • @type sai_port_interface_type_t
  • @flags CREATE_AND_SET
  • @default SAI_PORT_INTERFACE_TYPE_NONE
    */
    SAI_PORT_ATTR_INTERFACE_TYPE,

Line side attributes are set like this:
line_attr[2].id = sys_attr[2].id = SAI_PORT_ATTR_INTERFACE_TYPE;
line_attr[2].value.u32 = sys_attr[2].value.u32 = SAI_PORT_INTERFACE_TYPE_KR;

Newly added interfaces can be configured similar way:
line_attr[2].value.u32 = sys_attr[2].value.u32 = SAI_PORT_INTERFACE_TYPE_CEILR;

Call the create port using line side attribute:
rv = pai_port_apis_ptr->create_port(&line_port_id[phy_index], switch_id[phy_index],
COUNTOF(line_attr),
line_attr);

SAI_PORT_INTERFACE_TYPE_USXGMII,

/** Interface type CEILR */
SAI_PORT_INTERFACE_TYPE_CEILR,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

could you please clarify which technology is meant here ?

Copy link
Copy Markdown
Contributor Author

@prafull-brcm prafull-brcm Feb 24, 2026

Choose a reason for hiding this comment

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

This is optical common electrical interface for LR as normal reach and LR_ER for extended reach backplane mode for chip to chip interface connected with copper cable for ethernet lane data rate 56G, 112G, 212G etc .

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Is it some proprietary technology or standard one ?

Copy link
Copy Markdown
Contributor Author

@prafull-brcm prafull-brcm Feb 25, 2026

Choose a reason for hiding this comment

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

CEILR is OIF standard electrical interface for backplane copper cable to connect module to module or chip to chip.

@tjchadaga
Copy link
Copy Markdown
Collaborator

@prafull-brcm - are you able to discuss this in the SAI community meeting on 3/12?

@prafull-brcm
Copy link
Copy Markdown
Contributor Author

@tjchadaga I can discuss this on 3/12 meeting in SAI community meeting.

Adding new electrical interface CEILR for normal reach and CEILR_ER to enable extended reach option in SERDES.

Signed-off-by: Prafull Singh <56103377+prafull-brcm@users.noreply.github.com>
Signed-off-by: Prafull Singh <56103377+prafull-brcm@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

@prafull-brcm prafull-brcm left a comment

Choose a reason for hiding this comment

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

CEIMR interface is added for medium reach interconnect cable < 50cm length to connect chip to chip on same PCB.
CEILR and CEILR_ER (extended reach) interface is added to connect with cable (twin-axial copper cable backplane) < 1 m for communication interface between two cards across a backplane.
These interfaces follows OIF’s (Optical Internetworking Forum ) Common Electrical Interface.

@tjchadaga tjchadaga added the reviewed PR is discussed in SAI Meeting label Mar 12, 2026
@tjchadaga
Copy link
Copy Markdown
Collaborator

@prafull-brcm - As discussed in the community meeting, please update the PR with a detailed description of the types and usage examples

@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tjchadaga
Copy link
Copy Markdown
Collaborator

Please also address the metachecker failure by adding CEILR & CEIMR to meta/acronyms

WARNING: Word 'CEILR' is misspelled or is acronym, add to acronyms.txt? saiport.h 513:    /** Interface type CEILR */
WARNING: Word 'CEIMR' is misspelled or is acronym, add to acronyms.txt? saiport.h 510:    /** Interface type CEIMR */

Signed-off-by: Prafull Singh <56103377+prafull-brcm@users.noreply.github.com>
…tch-4

Signed-off-by: Prafull Singh <56103377+prafull-brcm@users.noreply.github.com>
@prafull-brcm
Copy link
Copy Markdown
Contributor Author

@tjchadaga @vmittal-msft
As discussed adding usage details for these new interfaces:
The inteface type is set during create port using attribute SAI_PORT_ATTR_INTERFACE_TYPE and new interfaces (CEILR, CEILR_ER and CEIMR) are added to enum sai_port_interface_type_t.
Here is the ussage detail:
/**
* @brief Configure Interface type
*
* @type sai_port_interface_type_t
* @flags CREATE_AND_SET
* @default SAI_PORT_INTERFACE_TYPE_NONE
*/
SAI_PORT_ATTR_INTERFACE_TYPE,

Line side attributes are set like this:
line_attr[2].id = sys_attr[2].id = SAI_PORT_ATTR_INTERFACE_TYPE;
line_attr[2].value.u32 = sys_attr[2].value.u32 = SAI_PORT_INTERFACE_TYPE_KR;

Newly added interfaces can be configured similar way:
line_attr[2].value.u32 = sys_attr[2].value.u32 = SAI_PORT_INTERFACE_TYPE_CEILR;

Call the create port using line side attribute:
rv = pai_port_apis_ptr->create_port(&line_port_id[phy_index], switch_id[phy_index],
COUNTOF(line_attr),
line_attr);

@prafull-brcm
Copy link
Copy Markdown
Contributor Author

@vmittal-msft Updated the usage of new variable.

@tjchadaga tjchadaga requested a review from prgeor March 25, 2026 21:04
@tjchadaga
Copy link
Copy Markdown
Collaborator

@prafull-brcm - please squash your commits and force push for the metachecker to run

@tjchadaga
Copy link
Copy Markdown
Collaborator

@prgeor, @eddyk-nvidia - could you please help sign off on this?

@tjchadaga
Copy link
Copy Markdown
Collaborator

@prafull-brcm - gentle reminder to squash your commits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewed PR is discussed in SAI Meeting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants