Skip to content
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

[fgnhgorch] Changes for Fine Grained ECMP #1315

Merged
merged 25 commits into from Sep 30, 2020
Merged

Conversation

anish-n
Copy link
Contributor

@anish-n anish-n commented Jun 4, 2020

What I did
Added fine grained ECMP changes.

Why I did it
To support consistent and layered hashing in SONiC.

How I verified it
Verified using VS swss test cases

Details if related
HLD: https://github.com/Azure/SONiC/blob/master/doc/ecmp/fine_grained_next_hop_hld.md
SAI: https://github.com/opencomputeproject/SAI/blob/master/doc/ECMP/Ordered_and_Fine_Grained_ECMP.md

@anish-n anish-n marked this pull request as draft June 4, 2020 21:24
@anish-n anish-n marked this pull request as ready for review June 29, 2020 21:04
orchagent/fgnhgorch.h Outdated Show resolved Hide resolved
tests/test_fgnhg.py Outdated Show resolved Hide resolved
tests/test_fgnhg.py Outdated Show resolved Hide resolved
tests/test_fgnhg.py Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Show resolved Hide resolved
orchagent/routeorch.cpp Outdated Show resolved Hide resolved
orchagent/routeorch.h Outdated Show resolved Hide resolved
orchagent/orchdaemon.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/neighorch.cpp Outdated Show resolved Hide resolved
orchagent/neighorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/routeorch.cpp Outdated Show resolved Hide resolved
orchagent/routeorch.h Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/fgnhgorch.cpp Outdated Show resolved Hide resolved
orchagent/routeorch.h Outdated Show resolved Hide resolved
@qiluo-msft
Copy link
Contributor

@daall Could you help review tests/test_fgnhg.py. There are some time.sleep(1).

Copy link
Contributor

@qiluo-msft qiluo-msft left a comment

Choose a reason for hiding this comment

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

LGTM except time.sleep(1) in tests/test_fgnhg.py

Copy link
Contributor

@daall daall left a comment

Choose a reason for hiding this comment

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

All of the time.sleep(1) calls have clear comments + justification so I think this is OK as is.

@daall
Copy link
Contributor

daall commented Sep 30, 2020

retest vs please

@qiluo-msft qiluo-msft merged commit 18fc06e into sonic-net:master Sep 30, 2020
theasianpianist pushed a commit to theasianpianist/sonic-swss that referenced this pull request Oct 2, 2020
* Fine grained ECMP initial commit
* Fix compilation, test failures and add logic to query SAI_NEXT_HOP_GROUP_ATTR_REAL_SIZE from SAI
* Misc fixes after migrating branch
* Misc-fixes
* Add support to fgnhgorch for neighbor and interface availability changes
* fgnhg group/prefix/member addition and deletion
* fix indentation and address comment
* Improve error handling and add support for crm and neigh refcounts
* Temporarily disable dynamic changes to route from fine grained to standard ecmp
* Add checks to limit Fine Grained ECMP to default VRF
* handle fgnhg prefix addition deletion with route bulker
* fix indentation
* Add handling for neigh edge case scenarios and improve routeorch bulker integration
* write route entry to state_db
* Fix bug with add and remove nh in a bank at the same time
* Improve test coverage and fix issues with multi-nh changes, misc code improvements
* Improve distribution of hash buckets per nh when hash buckets are not divisible by # of buckets
* Incorporate review comments v1
* Reduce exposure of private routeorch functions/variables outside of routeorch
* Fix an uninitialized variable error found in testing
* Change test_fgnhg.py to use the new framework to validate db entries
* Remove exposure of routeorch nextHopGroupCounts outside of routeorch, and misc. improvements
* camelCase changes for fgnhgorch
* RouteOrch add/removeRoutePost do not need logic to reroute calls to fgnhgorch
* camelCase changes v2
theasianpianist added a commit to theasianpianist/sonic-swss that referenced this pull request Oct 2, 2020
EdenGri pushed a commit to EdenGri/sonic-swss that referenced this pull request Feb 28, 2022
Add FG_ROUTE_TABLE to backup database for warm reboot support for fgnhg.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants