Skip to content

SRv6 SID Marking#2222

Merged
tjchadaga merged 4 commits intoopencomputeproject:masterfrom
j-bos:sid_marking
Dec 12, 2025
Merged

SRv6 SID Marking#2222
tjchadaga merged 4 commits intoopencomputeproject:masterfrom
j-bos:sid_marking

Conversation

@j-bos
Copy link
Copy Markdown
Contributor

@j-bos j-bos commented Oct 13, 2025

The SID Marking feature provides the ability to control the output VPN SID content per-forwarding-class. This allows for-example to carry TOS info as part of the SRv6 SID.

Attributes are:

  • SAI_TUNNEL_MAP_TYPE_FORWARDING_CLASS_TO_SRV6_VPN_SID: Selection of endpoint VPN SID based on forwarding-class
  • SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_TUNNEL_MAP_ID: Combining prefix-aggregation-id map (existing SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_SRV6_VPN_SID with forwarding-class).

@j-bos j-bos changed the title SID Marking APIs SRv6 SID Marking Oct 13, 2025
@j-bos j-bos marked this pull request as ready for review December 2, 2025 18:49
@tjchadaga tjchadaga requested a review from abdosi December 2, 2025 20:38
@tjchadaga
Copy link
Copy Markdown
Collaborator

@BYGX-wcr, @JaiOCP - Please help review


#### Overview

The `SAI_TUNNEL_MAP_TYPE_PREFIX_AGG_ID_TO_TUNNEL_MAP_ID` tunnel map type enables hierarchical, two-level lookup for VPN SID selection. This indirection allows combining the prefix-based derivation with the forwarding-class-based SID Marking.
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.

This seems to require that the hardware to do TUNNEL mapping twice in the pipeline. Is there any similar existing practice?

Copy link
Copy Markdown
Contributor Author

@j-bos j-bos Dec 2, 2025

Choose a reason for hiding this comment

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

Thank you.

It is likely an implementation pipeline which wishes to do a single lookup, would collapse this tunnel map to a single-level using the pair of inputs (agg_id, forwarding-class) -> VPN SID

@eddieruan-alibaba
Copy link
Copy Markdown

eddieruan-alibaba commented Dec 2, 2025

@shuaishang will represent Alibaba to review this PR.

This API has been used in Alibaba eCORE network.

j-bos added 2 commits December 3, 2025 13:49
Signed-off-by: Jason Bos <jbos@cisco.com>
Signed-off-by: Jason Bos <jbos@cisco.com>
@tjchadaga
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Signed-off-by: Jason Bos <jbos@cisco.com>
Copy link
Copy Markdown
Contributor

@BYGX-wcr BYGX-wcr left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Copy Markdown
Contributor

@JaiOCP JaiOCP left a comment

Choose a reason for hiding this comment

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

Looking at it.

Copy link
Copy Markdown
Contributor

@JaiOCP JaiOCP left a comment

Choose a reason for hiding this comment

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

Looks Good

@tjchadaga tjchadaga added the reviewed PR is discussed in SAI Meeting label Dec 12, 2025
@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 abe950a into opencomputeproject:master Dec 12, 2025
3 checks passed
pullaraogunda pushed a commit to pullaraogunda/SAI that referenced this pull request Dec 16, 2025
* SID Marking APIs

Signed-off-by: Jason Bos <jbos@cisco.com>
JaiOCP added a commit to JaiOCP/SAI that referenced this pull request Dec 19, 2025
Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG Port and Switch Attributes

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG ACL Attributes

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG TAM Attributes

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG Time Interval Unit

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG Document

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG Document

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

CSIG Document

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

Fix: "INVAILD" typo in enum '_sai_dash_flow_entry_bulk_get_session_filter_key_t' (opencomputeproject#2224)

This PR fixes a typo in the enum definition for dash_flow_entry_bulk_get_session_filter_key_t where the member INVAILD is corrected to INVALID.

Changes:

saitypesextensions.h: Renamed enum member INVAILD → INVALID.
Following will be pushed to DASH's repo once these SAI repo changes are merged.

dash_headers.p4: Renamed enum member INVAILD → INVALID.

Non UEC Member Agreement Form (opencomputeproject#2226)

Signed-off-by: JaiOCP <jai.kumar@broadcom.com>

Seamless BFD (S-BFD) (opencomputeproject#2220)

Signed-off-by: Jason Bos <jbos@cisco.com>

Replicate VXLAN UDP sport security to switch level (opencomputeproject#2195)

- Add SAI_SWITCH_TUNNEL_ATTR_VXLAN_UDP_SPORT_SECURITY attribute to drop tunnel packets with UDP source port outside allowed range
- Add documentation for UDP source port validation on VXLAN packet ingress
- Update both saiswitch.h and saitunnel.h with security clarifications

Signed-off-by: Marian Pritsak <marianp@mellanox.com>

SRv6 SID Marking (opencomputeproject#2222)

* SID Marking APIs

Signed-off-by: Jason Bos <jbos@cisco.com>

[DASH] Add flow bulk get session event data struct (opencomputeproject#2175)

* [DASH] Add flow bulk get session event data struct

Add flow bulk get event callback and supporting
structures to provide ability to query flows
in asynchronous manner.

Introducing SAI_PORT_ATTR_PORT_PG_PKT_DROP_STATUS (opencomputeproject#2234)

In this map, the key is the PG index and the status value (clear-on-read)
for each PG is from {0, 1}, where 0 indicates no drops were observed and 1
indicates packet drops.

Signed-off-by: Prasun Sinha <prasunsinha@google.com>

Add flow entry to the bulk session event data (opencomputeproject#2237)

Add the ability to query the flows with the
bulk get session event data callback.

The commit contains a fix for bad ordering of
classes generated by Thrift compiler for the nested
structures used in this callback.

Signed-off-by: Marian Pritsak <marianp@mellanox.com>
pullaraogunda added a commit to pullaraogunda/SAI that referenced this pull request Jan 9, 2026
Signed-off-by: pullarao <pullarao.gunda@broadcom.com>

SRv6 SID Marking (opencomputeproject#2222)

* SID Marking APIs

Signed-off-by: Jason Bos <jbos@cisco.com>

[DASH] Add flow bulk get session event data struct (opencomputeproject#2175)

* [DASH] Add flow bulk get session event data struct

Add flow bulk get event callback and supporting
structures to provide ability to query flows
in asynchronous manner.
cursor bot pushed a commit to yuriilisovskyi/SAI that referenced this pull request Apr 7, 2026
* SID Marking APIs

Signed-off-by: Jason Bos <jbos@cisco.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.

6 participants