Skip to content

SAI proposal for Synchronous Ethernet#2146

Merged
tjchadaga merged 1 commit intoopencomputeproject:masterfrom
rpmarvell:rpmarvell_synce_sai_proposal
Mar 24, 2025
Merged

SAI proposal for Synchronous Ethernet#2146
tjchadaga merged 1 commit intoopencomputeproject:masterfrom
rpmarvell:rpmarvell_synce_sai_proposal

Conversation

@rpmarvell
Copy link
Copy Markdown
Contributor

@rpmarvell rpmarvell commented Mar 3, 2025

This proposal introduces Synchronous Ethernet(SyncE) to SAI with following details,

  • New SyncE clock object which can be used to program the SyncE clocks to recover the clock signal to the Switch device
  • New Hostif trap to handle the SSM over the ESMC protocol
  • New read-only switch attributes to get the SyncE clock capability of the Switch device

Comment thread meta/saisanitycheck.c Outdated
Comment on lines +5215 to +5220
if (SAI_OBJECT_TYPE_SYNCE == oi->objecttype)
{
META_LOG_WARN("synce object %s not present on any object list (eg. VLAN_MEMBER is present on SAI_VLAN_ATTR_MEMBER_LIST)", oi->objecttypename);
return;
}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

why this exception is made ? seems like your objects are not SET on any attributes that's why you are getting this error, why you dont set it on any other attributes ?

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.

I have taken care of this. Kindly review again and let me know if this is fine.

@kcudnik
Copy link
Copy Markdown
Collaborator

kcudnik commented Mar 3, 2025

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@rpmarvell rpmarvell force-pushed the rpmarvell_synce_sai_proposal branch 7 times, most recently from dfd5538 to 5d0b0cc Compare March 13, 2025 14:37
@rpmarvell rpmarvell requested a review from kcudnik March 13, 2025 15:03
@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

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

@rpmarvell - could you please resolve branch conflicts?

@rpmarvell rpmarvell force-pushed the rpmarvell_synce_sai_proposal branch from 5d0b0cc to 401cb11 Compare March 22, 2025 07:48
Comment thread inc/saisynce.h
* @allownull true
* @default SAI_NULL_OBJECT_ID
*/
SAI_SYNCE_CLOCK_ATTR_SRC_PORT = SAI_SYNCE_CLOCK_ATTR_START,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

why not to do in the regular way via setting the SyncE clock object to Port Object ? For example, SAI_PORT_ATTR_SYNCE_ENABLE with Sync Clock OID

Please consider additional parameters (per port with enabled SyncE):

  • oper_frequency_diff - RO
  • hold_over_acquired - RO
  • synce_failure_code - RO
  • synce_oper_status - RO [free-running, self-track, other-track, hold-over, hold-over-in-failure]

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.

According to the proposed model, a SyncE clock can synchronize with only a single port's frequency. Therefore, this SyncE clock object is designed to utilize a designated clock source attribute. Since this model is based on the SyncE clock, can we consider implementing the read-only attributes in the next phase? Additionally, the attribute SAI_SYNCE_CLOCK_ATTR_CLOCK_VALID is available to indicate the status of the SyncE clock. Please let me know if this is fine.

Comment thread inc/saisynce.h Outdated
*
* Returns the hardware clock-id associated
*
* @type sai_uint32_t
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

it should be 64-bit

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.

Addressed the comment. Thank you.!

@tjchadaga
Copy link
Copy Markdown
Collaborator

@rpmarvell - please addres the comments and resolve branch conflicts

@rpmarvell
Copy link
Copy Markdown
Contributor Author

@tjchadaga : I am working on it.

Signed-off-by: rpmarvell <rperumal@marvell.com>

Addressed the review comment from nvdia for the SyncE PR
@rpmarvell rpmarvell force-pushed the rpmarvell_synce_sai_proposal branch from 401cb11 to 2165302 Compare March 24, 2025 17:35
@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@tjchadaga tjchadaga requested a review from eddyk-nvidia March 24, 2025 18:41
@tjchadaga tjchadaga merged commit 1906d59 into opencomputeproject:master Mar 24, 2025
3 checks passed
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