Skip to content

Add Consistent ECMP for vxlan tunnel HLD#2099

Merged
prsunny merged 9 commits into
sonic-net:masterfrom
anish-n:tunnelNhFgEcmp
May 22, 2026
Merged

Add Consistent ECMP for vxlan tunnel HLD#2099
prsunny merged 9 commits into
sonic-net:masterfrom
anish-n:tunnelNhFgEcmp

Conversation

@anish-n
Copy link
Copy Markdown
Contributor

@anish-n anish-n commented Nov 7, 2025

This PR introduces the design to add support for consistent hashing for VXLAN tunnel endpoints, such that routes destined to tunnel endpoints can make use of consistent hashing to limit flow rehashing upon nexthop addition/removal. This will help significantly reduce protocol connection restarts as a result of nexthop changes, when tunnel endpoints have flow state

Repo PR title State
sonic-swss Fine Grained ECMP for Vnet Tunnel Routes GitHub PR state
sonic-buildimage VNET_ROUTE_TUNNEL yang model support for consistent hashing GitHub PR state
sonic-mgmt Consistent Hashing for VXLAN tunnel routes GitHub PR state
sonic-utilities Enhance FGNHG CLI to filter by and show vnet + prefix GitHub PR state

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

Comment thread doc/vxlan/Consistent_ecmp_for_Vxlan_tunnel.md Outdated
Comment thread doc/vxlan/Consistent_ecmp_for_Vxlan_tunnel.md Outdated
Comment thread doc/ecmp/fine_grained_next_hop_hld.md
Comment thread doc/vxlan/Consistent_ecmp_for_Vxlan_tunnel.md
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

Copy link
Copy Markdown
Contributor

@prsunny prsunny left a comment

Choose a reason for hiding this comment

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

@anish-n , can you add a link to this document from Vxlan hld so that it can cross reference for consistent hashing scenarios

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

Signed-off-by: Anish Narsian (from Dev Box) <annarsia@microsoft.com>
Signed-off-by: Anish Narsian (from Dev Box) <annarsia@microsoft.com>
Signed-off-by: Anish Narsian (from Dev Box) <annarsia@microsoft.com>
Added YANG model enhancements for VNET_ROUTE_TUNNEL, including modifications for endpoints, MAC addresses, VNIs, and new field consistent hashing buckets.

Signed-off-by: Anish Narsian (from Dev Box) <annarsia@microsoft.com>
Signed-off-by: Anish Narsian (from Dev Box) <annarsia@microsoft.com>
@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@anish-n
Copy link
Copy Markdown
Contributor Author

anish-n commented Dec 4, 2025

@anish-n , can you add a link to this document from Vxlan hld so that it can cross reference for consistent hashing scenarios

Added, thanks

qiluo-msft pushed a commit to sonic-net/sonic-buildimage that referenced this pull request Dec 11, 2025
…24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.
mssonicbld added a commit to mssonicbld/sonic-buildimage that referenced this pull request Dec 15, 2025
<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

#### How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 202205
- [ ] 202211
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->master
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
--> add consistent_hashing_buckets and multi-value endpoint, vni and mac for consistent hashing support.

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->
https://github.com/sonic-net/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md#vnet_route_tunnel

#### A picture of a cute animal (not mandatory but encouraged)
mssonicbld added a commit to sonic-net/sonic-buildimage that referenced this pull request Dec 17, 2025
…24858)

<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log Make sure all your commits include a signature generated with `git commit -s` **

 If this is a bug fix, make sure your description includes "fixes #xxxx", or
 "closes #xxxx" or "resolves #xxxx"

 Please provide the following information:
-->

#### Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

#### How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 202205
- [ ] 202211
- [ ] 202305
- [ ] 202311
- [ ] 202405
- [ ] 202411
- [ ] 202505

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->master
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
--> add consistent_hashing_buckets and multi-value endpoint, vni and mac for consistent hashing support.

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->
https://github.com/sonic-net/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md#vnet_route_tunnel

#### A picture of a cute animal (not mandatory but encouraged)
NavdhaJindal added a commit to NavdhaJindal/sonic-buildimage-msft that referenced this pull request Dec 17, 2025
…24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.
hdwhdw pushed a commit to hdwhdw/sonic-buildimage that referenced this pull request Dec 18, 2025
…onic-net#24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

Signed-off-by: Dawei Huang <daweihuang@microsoft.com>
zjswhhh added a commit to Azure/sonic-buildimage-msft that referenced this pull request Dec 19, 2025
…ashing (#24684) (#1900)

Master PR: sonic-net/sonic-buildimage#24684

Why I did it
To support consistent ECMP for vxlan tunnels, according to
specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added
consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set
the new attributes.

<!--
Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

** Make sure all your commits include a signature generated with `git
commit -s` **

If this is a bug fix, make sure your description includes "fixes #xxxx",
or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

#### How to verify it

<!--
If PR needs to be backported, then the PR must be tested against the
base branch and the earliest backport release branch and provide tested
image version on these two branches. For example, if the PR is requested
for master, 202211 and 202012, then the requester needs to provide test
results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
Ensure to add label/tag for the feature raised. example - PR#2174 under
sonic-utilities repo. where, Generic Config and Update feature has been
labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on
https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
xwjiang-ms pushed a commit to xwjiang-ms/sonic-buildimage that referenced this pull request Dec 22, 2025
…onic-net#24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

Signed-off-by: xiaweijiang <xiaweijiang@microsoft.com>
jasonbridges pushed a commit to jasonbridges/sonic-buildimage that referenced this pull request Jan 22, 2026
…onic-net#24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.
@prsunny
Copy link
Copy Markdown
Contributor

prsunny commented Feb 11, 2026

@anish-n , can you update description with associated PRs following the HLD PR template?

@anish-n
Copy link
Copy Markdown
Contributor Author

anish-n commented Feb 19, 2026

@anish-n , can you update description with associated PRs following the HLD PR template?

Updated @prsunny

@prsunny
Copy link
Copy Markdown
Contributor

prsunny commented Feb 23, 2026

@anish-n , can you update description with associated PRs following the HLD PR template?

Updated @prsunny

thanks, please add one for sonic-mgmt as well.

FengPan-Frank pushed a commit to FengPan-Frank/sonic-buildimage that referenced this pull request Mar 6, 2026
…onic-net#24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

Signed-off-by: Feng Pan <fenpan@microsoft.com>
@prsunny prsunny self-assigned this Mar 26, 2026
mhchann pushed a commit to mhchann/sonic-buildimage that referenced this pull request May 7, 2026
…onic-net#24684)

Why I did it
To support consistent ECMP for vxlan tunnels, according to specifications in sonic-net/SONiC#2099

Work item tracking
Microsoft ADO (number only):
How I did it
Added multi-value support for endpoint, mac and vni. Added consistent_hashing_buckets.

How to verify it
Run the tests added in this PR or build image with these changes and set the new attributes.

Signed-off-by: mhchann <mhchann082@gmail.com>
@rookie-who
Copy link
Copy Markdown

Hi @anish-n — this is approved by @prsunny. Is there anything blocking the merge? 202605 branch cut is at end of May.

CC: @vaibhavhd @radha-danda (branch managers)

@anish-n
Copy link
Copy Markdown
Contributor Author

anish-n commented May 19, 2026

This PR introduces the design to add support for

This is ready to merge, nothing blocking the merge, I do not have permission to merge it, if one of the branch maintainers would please help with merging?

@prsunny prsunny merged commit c263790 into sonic-net:master May 22, 2026
2 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in SONiC 202605 Release May 22, 2026
@delnas delnas moved this from Done to In Progress in SONiC 202605 Release May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

7 participants