[doc]: Add HLD for inner-aware flow hash on VPP dataplane#235
Open
yejianquan wants to merge 1 commit into
Open
[doc]: Add HLD for inner-aware flow hash on VPP dataplane#235yejianquan wants to merge 1 commit into
yejianquan wants to merge 1 commit into
Conversation
This HLD covers the new IP_FLOW_HASH_PEEK_INNER flag on
ip4/ip6_compute_flow_hash and the always-on inner peek inside
hash-eth-l34 (LAG). Together they let SONiC-VPP load-balance
transit tunnel traffic (IPinIP, 6in4, 4in6, 6in6, GRE-IP, NVGRE)
on inner-flow entropy instead of collapsing onto a single
ECMP path / bond member.
Document is structured into 9 numbered sections plus two
appendices (File Change Summary, VPP Flow-Hash + Hash Function
API Reference) and a Known Issues / Open Items section that
tracks one follow-up (compile-time guard on flow-hash bit
overflow) and three issues already corrected during review.
This HLD only adds the documentation file under
docs/HLD/. The corresponding code lives in:
- sonic-platform-vpp PR (this repo): vppbld/patches/
0010-sonic-inner-aware-flow-hash.patch
- sonic-sairedis PR: libsaivs VPP_IP_API_FLOW_HASH_PEEK_INNER
+ AF_INET6 hash_set call in SwitchVppRif.cpp
- sonic-buildimage: submodule bump for sonic-sairedis
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Jianquan Ye <jianquanye@microsoft.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
1 task
Author
|
Hi @yue-fred-gao @lolyu , could you please help to review the HLD and related PRs? |
| This document describes the **inner-aware flow hash** feature for the SONiC VPP | ||
| dataplane. The feature lets VPP's IPv4 / IPv6 ECMP and LAG load-balancers | ||
| hash on the inner header of tunneled traffic (IPinIP, 6in4, 4in6, 6in6, | ||
| GRE-IP, NVGRE) instead of the outer 5-tuple, so transit tunnel flows |
Contributor
There was a problem hiding this comment.
Is SRv6 in the scope? If not, please add it to the exclusion
| existing `set ip flow-hash` CLI / API — no new SAI attribute is | ||
| required. | ||
|
|
||
| ### 4.4 LAG Surface — Always-On with Safe Fallback |
Contributor
There was a problem hiding this comment.
I am not sure if we want to change existing behaviour. From sonic perspective, there is no option to toggle between outer and inner. I think we can introduce a new Algo that hash inner. And sonic also choose the the new algo.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This HLD covers the new IP_FLOW_HASH_PEEK_INNER flag on ip4/ip6_compute_flow_hash and the always-on inner peek inside hash-eth-l34 (LAG). Together they let SONiC-VPP load-balance transit tunnel traffic (IPinIP, 6in4, 4in6, 6in6, GRE-IP, NVGRE) on inner-flow entropy instead of collapsing onto a single ECMP path / bond member.
Document is structured into 9 numbered sections plus two appendices (File Change Summary, VPP Flow-Hash + Hash Function API Reference) and a Known Issues / Open Items section that tracks one follow-up (compile-time guard on flow-hash bit overflow) and three issues already corrected during review.
This HLD only adds the documentation file under
docs/HLD/. The corresponding code lives in:
signed-off-by: jianquanye@microsoft.com