-
Notifications
You must be signed in to change notification settings - Fork 531
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
NAT bulking and SAI NAT aging notification #2091
base: master
Are you sure you want to change the base?
Conversation
Thanks. Would we please put more description for the PR (fill in the template). |
@AkhileshSamineni , can you review this PR |
@arvbb can you add Unit tests for this ? |
/Azp run Azure.sonic-swss |
Azure Pipelines successfully started running 1 pipeline(s). |
Hi @arlakshm, thanks for review.. Added UT logs..
|
@AkhileshSamineni @arlakshm could you pls review the PR. SAI PR has been merged with new set of attributes for this feature. Sonic build will be successful after SAI refpoint update on sonic-sairedis repo. |
/Azp run Azure.sonic-swss |
Commenter does not have sufficient privileges for PR 2091 in repo Azure/sonic-swss |
/azp run |
Commenter does not have sufficient privileges for PR 2091 in repo Azure/sonic-swss |
/azp run |
Commenter does not have sufficient privileges for PR 2091 in repo Azure/sonic-swss |
/azpw run |
/AzurePipelines run |
Azure Pipelines successfully started running 1 pipeline(s). |
Please add some unit tests |
test_nat.pycollected 18 items test_nat.py::TestNat::test_NatGlobalTable PASSED [ 5%] ============================================ 17 passed, 1 skipped in 181.18 seconds ============================================
|
This pull request introduces 1 alert when merging b815d86 into ab0e474 - view on LGTM.com new alerts:
|
@arlakshm -Hi, added UT, could you please take a look, thanks. |
This PR covers:
Changes in sonic-swss to handle Aging notification from SAI. Related PRs:
SAI NAT aging notification opencomputeproject/SAI#1365
SAI NAT aging notification sonic-sairedis#987
Bulking the NAT messages between Natorch and Syncd.
These changes are aimed to improve the SONiC NAT session setup rate.
The changes were verified by measuring the time taken to setup a large number of dynamic NAT entries (closer to programmable hardware upper limit) on the SONiC device.
As described in SAI PR, the frequent polling of dynamic NAT entries using Hitbit timer is not efficient and instead the Aging mechanism is used by SAI to notify SONiC when NAT entry is aged out. Natorch processes these notifications to cleanup the aged out NAT entries.
Bulk changes use the bulker mechanism previously used for bulking routes, etc. This change decreased the time to program NAT entries at both SONiC and SAI level.