-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DASH pipeline packet flow update proposal. #449
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made a few suggestions
Co-authored-by: KrisNey-MSFT <[email protected]>
Co-authored-by: KrisNey-MSFT <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did a bit more...will finish later
Co-authored-by: KrisNey-MSFT <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Last of my potential edits
Co-authored-by: KrisNey-MSFT <[email protected]>
Co-authored-by: KrisNey-MSFT <[email protected]>
[like] Kristina Moore reacted to your message:
________________________________
From: Riff ***@***.***>
Sent: Friday, November 3, 2023 7:13:20 PM
To: sonic-net/DASH ***@***.***>
Cc: Kristina Moore ***@***.***>; Comment ***@***.***>
Subject: Re: [sonic-net/DASH] DASH pipeline packet flow update proposal. (PR #449)
@r12f commented on this pull request.
________________________________
In documentation/general/dash-sai-pipeline-packet-flow.md<#449 (comment)>:
+| IP Mapping | Exact Match | Source IP or Destination IP | Publish metadata from matched VNET and VNET mapping entry |
+| Port Mapping | Range Match | Source Port + Destination Port | Publish metadata from matched port mapping entry |
+
+For more on the metadata publishing, please refer to the metadata publishing section below.
+
+#### 5.9.2. Pipeline profile and stage connections
+
+Ideally, when DASH initializes or whenever we create a new pipeline, by simply creating multiple numbers of different types of matching stages and connecting them in different ways, we can easily implement different pipeline and network functions.
+
+| Stage 0 | Stage 1 | Stage 2 | Stage 3 | Stage 4 |
+| ------- | ------- | ------- | ------- | ------- |
+| Routing 0 | IP Mapping 0 | Port Mapping | X | X |
+| Routing 0 | Routing 1 | IP Mapping 0 | IP Mapping 1 | Port Mapping |
+| Routing 0 | IP Mapping 0 | Port Mapping | Routing 1 | IP Mapping 1 |
+
+However, in reality, it might make the pipeline hard to implement, model, debug and validate or test at this moment. For example, changing matching fields, matching type and connection dynamically on pipeline creation is simply beyond the ability of P4, which is used by our behavior model today as well as many vendor's ASIC SDKs.
p4 annotations will help generating the sai headers, but sadly, it won't be able to help much in this case. :(
—
Reply to this email directly, view it on GitHub<#449 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AFJSI6DTD5FVGBOUDG5J5GTYCU65BAVCNFSM6AAAAAA5U5YA32VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTOMJTGM4DONJSGQ>.
You are receiving this because you commented.Message ID: ***@***.***>
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approving
* main: (75 commits) [dash-SAI] Enable warnings as errors (sonic-net#466) [SAI] wrong code generated in libsai sonic-net#415 (sonic-net#463) Fix incorrect IP in SONiC-DASH HLD VNET to VNET example. (sonic-net#459) DASH pipeline packet flow update proposal. (sonic-net#449) [libsai] Add attr name logging when doing get api (sonic-net#451) Build libsai deb packages in github workflow (sonic-net#450) Add Private Link mapping (sonic-net#327) [SAI] Update SAI submodule to the latest origin/master (sonic-net#446) [dash] Add libsai-debs target to create libsai debian packages (sonic-net#444) update p4 compile dependancy to avoid parallel docker runs (sonic-net#443) [dash] Refactor libsai (sonic-net#438) [dash] Update SAI to latest v1.13 (sonic-net#435) [dash-pipeline] Refactor Makefiles (sonic-net#432) Remove ACL tags from BM (sonic-net#425) [submodule] Update SAI submodule to origin/master (sonic-net#431) [sai-api-gen] Write files only when changes are detected (sonic-net#429) Adds SAI_ROUTE_ENTRY_ATTR_PACKET_ACTION api to dash_underlay_routing (sonic-net#422) [SAI] Add missing check for api initialized [SAI] Print oids in hex form [SAI] Change asserts to return error codes and add missing switch api ...
Motivation
DASH pipeline packet flow is the core for data path modeling, and today, it provides a good starting point for modeling VNET traffic. However, certain behaviors of DASH pipeline is not well defined or not being flexible enough.
For example:
And this PR is to:
Change summary
This proposal is not indented to redesign the SAI API and DASH packet flow today, but mostly focusing on a few extensions in today's DASH model.