-
Notifications
You must be signed in to change notification settings - Fork 547
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
Conversation
… and misc. improvements
@daall Could you help review tests/test_fgnhg.py. There are some |
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.
LGTM except time.sleep(1)
in tests/test_fgnhg.py
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.
All of the time.sleep(1)
calls have clear comments + justification so I think this is OK as is.
retest vs please |
* 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
This reverts commit fee1716.
Add FG_ROUTE_TABLE to backup database for warm reboot support for fgnhg.
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