vpp: implement CRM counters for neighbour, nexthop, nexthop group and members - #1814
Conversation
Signed-off-by: Yue Gao <yuega2@cisco.com>
Signed-off-by: Yue Gao <yuega2@cisco.com>
Signed-off-by: Yue Gao <yuega2@cisco.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| uint32_t m_maxSNATEntries = 100; | ||
| uint32_t m_maxDNATEntries = 100; | ||
| uint32_t m_maxIPMCEntries = 100; | ||
| uint32_t m_maxDoubleNATEntries = 50; |
There was a problem hiding this comment.
Do these values need to be maintained to stay in sync with defaults from SwitchStateBase?
There was a problem hiding this comment.
It doesn't have to be because vpp can have its own max. Actually I was tempted to set them to 0 since we don't support the features. But I am not sure if there is any side effect so I left them the same value as the past (inherited from SwitchStateBase) to be safe.
Signed-off-by: Yue Gao <yuega2@cisco.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
<!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [ ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [x] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 - [ ] 202511 ### Approach #### What is the motivation for this PR? Properly categorize test cases in ipfwd/test_nhop_group.py. #### How did you do it? 1. Previously some test cases are marked "to be included". This PR properly skip the ones that are not supported and give proper reason. PR sonic-net/sonic-sairedis#1802 is submitted to report supported ecmp type in capability advertisement. 2. Enable test_nhop_group_member_count test case. This depends on PR sonic-net/sonic-sairedis#1814 to provide CRM support in sonic-vpp. #### How did you verify/test it? Run sonic-mgmt test #### Any platform specific information? vpp #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
<!-- Please make sure you've read and understood our contributing guidelines; https://github.com/sonic-net/SONiC/blob/gh-pages/CONTRIBUTING.md Please provide following information to help code review process a bit easier: --> ### Description of PR <!-- - Please include a summary of the change and which issue is fixed. - Please also include relevant motivation and context. Where should reviewer start? background context? - List any dependencies that are required for this change. --> Summary: Fixes # (issue) ### Type of change <!-- - Fill x for your type of change. - e.g. - [x] Bug fix --> - [ ] Bug fix - [ ] Testbed and Framework(new/improvement) - [ ] New Test case - [ ] Skipped for non-supported platforms - [x] Test case improvement ### Back port request - [ ] 202205 - [ ] 202305 - [ ] 202311 - [ ] 202405 - [ ] 202411 - [ ] 202505 - [ ] 202511 ### Approach #### What is the motivation for this PR? Properly categorize test cases in ipfwd/test_nhop_group.py. #### How did you do it? 1. Previously some test cases are marked "to be included". This PR properly skip the ones that are not supported and give proper reason. PR sonic-net/sonic-sairedis#1802 is submitted to report supported ecmp type in capability advertisement. 2. Enable test_nhop_group_member_count test case. This depends on PR sonic-net/sonic-sairedis#1814 to provide CRM support in sonic-vpp. #### How did you verify/test it? Run sonic-mgmt test #### Any platform specific information? vpp #### Supported testbed topology if it's a new test case? ### Documentation <!-- (If it's a new feature, new test case) Did you update documentation/Wiki relevant to your implementation? Link to the wiki page? --> Signed-off-by: Sonic Build Admin <sonicbld@microsoft.com>
|
/azpw run |
|
Retrying failed(or canceled) jobs... |
|
Retrying failed(or canceled) stages in build 1071202: ✅Stage TestAsan:
✅Stage Test:
|
|
/azpw run |
|
Retrying failed(or canceled) jobs... |
|
Retrying failed(or canceled) stages in build 1071202: ✅Stage Test:
✅Stage TestAsan:
|
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com>
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
… members (sonic-net#1814) * Implement crm counters to track neighbor, nh and nh group/member Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: Justin Wong <jvwong@arista.com>
|
Cherry-pick PR to msft-202603: Azure/sonic-sairedis.msft#125 |
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: Raghavendran Ramanathan <rraghav@cisco.com>
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: selldinesh <dinesh.sellappan@keysight.com>
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: selldinesh <dinesh.sellappan@keysight.com>
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: ssithaia-ebay <ssithaian@ebay.com>
Description of PR Summary: Fixes # (issue) crm tests in vpp were disabled because sonic-vpp didn't support crm counters. With PR sonic-net/sonic-sairedis#1814 and sonic-net/sonic-sairedis#1811, the feature is enabled so we can turn on the test for sonic-vpp Type of change Bug fix Testbed and Framework(new/improvement) New Test case Skipped for non-supported platforms Test case improvement Back port request 202205 202305 202311 202405 202411 202505 202511 Approach What is the motivation for this PR? enable crm/test_crm.py and crm/test_crm_available.py How did you do it? Remove sonic-vpp conditional marker and add the tests to pr_test_scripts for t1_lag_vpp How did you verify/test it? Run the corresponding tests in sonic-mgmt and all test passed Any platform specific information? vpp specific Signed-off-by: Yue Gao <yuega2@cisco.com> Signed-off-by: Yael Tzur <ytzur@nvidia.com>
why
vpp doesn't track the usage of neighbour, nexthop, nexthop group and members due to it doesn't have hard limit on those objects except heap memory allocated to vpp process. But for test coverage with crm/test_crm.py, we need to track the usage although the max of those objects can be very large.
what this PR does
how is it tested
passed crm/test_crm.py