Skip to content

Adding new interface CEILR and CEILR_ER#2256

Merged
tjchadaga merged 1 commit intoopencomputeproject:masterfrom
prafull-brcm:patch-4
Mar 31, 2026
Merged

Adding new interface CEILR and CEILR_ER#2256
tjchadaga merged 1 commit 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);

Comment thread inc/saiport.h
Comment thread inc/saiport.h
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.

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 */

Comment thread inc/saiport.h Outdated
@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

@prafull-brcm prafull-brcm force-pushed the patch-4 branch 2 times, most recently from 48c7f61 to ed82e06 Compare March 30, 2026 10:06
@prafull-brcm
Copy link
Copy Markdown
Contributor Author

@prafull-brcm - gentle reminder to squash your commits

@tjchadaga Commits are squashed in single commit.

@apogedik
Copy link
Copy Markdown
Contributor

What SAI version will this request be part of? When will the new version be released? We have customers waiting for this change.

@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

@prafull-brcm - could you please help place the new acronyms in the correct alphabetical order? Seeing this meta check failure

WARNING: Acronyms are not sorted: XPN, CEIMR
WARNING: Acronyms are not sorted: CEIMR, CEILR
WARNING: Acronyms are not sorted: XPN, CEIMR
WARNING: Acronyms are not sorted: CEIMR, CEILR

@tjchadaga
Copy link
Copy Markdown
Collaborator

What SAI version will this request be part of? When will the new version be released? We have customers waiting for this change.

@prafull-brcm, @apogedik - Since the PR is already reviewed, if the meta checker issue is resolved today, we can include it in v1.18.1 header release (to be available later today).

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>

Update saiport.h

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

/azp run

@azure-pipelines
Copy link
Copy Markdown

Commenter does not have sufficient privileges for PR 2256 in repo opencomputeproject/SAI

@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tjchadaga tjchadaga merged commit 715c159 into opencomputeproject:master Mar 31, 2026
3 checks passed
tjchadaga pushed a commit that referenced this pull request Mar 31, 2026
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>
cursor Bot pushed a commit to yuriilisovskyi/SAI that referenced this pull request Apr 7, 2026
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>
rpmarvell pushed a commit to rpmarvell/SAI that referenced this pull request Apr 8, 2026
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>
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.

5 participants