-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Not supported attribute SAI_SWITCH_ATTR_AVAILABLE_IPMC_ENTRY #6563
Not supported attribute SAI_SWITCH_ATTR_AVAILABLE_IPMC_ENTRY #6563
Comments
what sai value are we returning? if it is not supported, then it should query only once. https://github.com/Azure/sonic-swss/blob/master/orchagent/crmorch.cpp#L460 |
SAI_SWITCH_ATTR_AVAILABLE_IPMC_ENTRY returns SAI_STATUS_ATTR_NOT_SUPPORTED_0 = -(0x50000) = -327680 SAI_SWITCH_ATTR_AVAILABLE_SNAT_ENTRY, SAI_SWITCH_ATTR_AVAILABLE_DNAT_ENTRY return SAI_STATUS_ATTR_NOT_IMPLEMENTED_0 = -(0x30000) = -196608 |
I think Sonic should query if NAT API is implemented (either query NAT API itself, or sai_query_attribute_capability for the SAI_SWITCH_ATTR_AVAILABLE_SNAT_ENTRY/DNAT), and not just try to read this attribs |
first I agree with you on using sai_query_attribute_capability. second, if we simply add additional check on line 460 to include NOT_IMPLEMENTED, will it work? |
Shouldn't we use the SAI_SWITCH_ATTR_SUPPORTED_OBJECT_TYPE_LIST query for SONiC/CRM to see if the object is available in SAI? This seems better than making making per-feature decisions on what is/is not an advanced feature. In the meantime, we can implement Guohan's suggestion of the additional check (for SAI_STATUS_ATTR_NOT_IMPLEMENTED). |
@ben-gale probably need to extend the 'unsupported' logic to also include an additional unsupported error code. As can be seen above you need to add ' SAI_STATUS_ATTR_NOT_SUPPORTED_0'. Suggest to check the list on SAI API. I would also suggest not to have warning or error for unsupported or not implemented items. This should be logged in notice level (assuming it is printed only once when swss is restarted). |
@volodymyrsamotiy / @liat-grozovik we still see a lot of warning on latest
|
@lguohan / @PrabhuSreenivasan FYI. There is swss crash observed due to last CRM changes:
Codebase: https://github.com/Azure/sonic-swss/blob/202012/orchagent/crmorch.cpp#L433
https://github.com/Azure/sonic-swss/blob/202012/orchagent/crmorch.cpp#L440
https://github.com/Azure/sonic-swss/blob/202012/orchagent/crmorch.cpp#L470
Conclusions: Seems like the issue is caused by |
Hi @nazariig, Understood the problem. Will push a fix. |
Fix sonic-net/sonic-buildimage#6563 **What I did** Instead of erasing unsupported resource from m_resourcesMap, mark it as unsupported. **Why I did it** Erasing an entry while iterating using range based iterator makes the iterator invalid. Also removing a resource from the m_resourcesMap impacts cross access while iterating other maps (eg crmUsedCntsTableMap). **How I verified it** Added a new unsupported resource for testing and verified the logs.
Fix sonic-net/sonic-buildimage#6563 **What I did** Instead of erasing unsupported resource from m_resourcesMap, mark it as unsupported. **Why I did it** Erasing an entry while iterating using range based iterator makes the iterator invalid. Also removing a resource from the m_resourcesMap impacts cross access while iterating other maps (eg crmUsedCntsTableMap). **How I verified it** Added a new unsupported resource for testing and verified the logs.
Fix sonic-net/sonic-buildimage#6563 **What I did** Instead of erasing unsupported resource from m_resourcesMap, mark it as unsupported. **Why I did it** Erasing an entry while iterating using range based iterator makes the iterator invalid. Also removing a resource from the m_resourcesMap impacts cross access while iterating other maps (eg crmUsedCntsTableMap). **How I verified it** Added a new unsupported resource for testing and verified the logs.
Fix sonic-net/sonic-buildimage#6563 **What I did** Instead of erasing unsupported resource from m_resourcesMap, mark it as unsupported. **Why I did it** Erasing an entry while iterating using range based iterator makes the iterator invalid. Also removing a resource from the m_resourcesMap impacts cross access while iterating other maps (eg crmUsedCntsTableMap). **How I verified it** Added a new unsupported resource for testing and verified the logs.
Description
See following warning and error in syslog. I assume this is related to PR sonic-net/sonic-swss#1511. These warning and error causes a lot of log analyzer error in sonic-mgmt regression. Please remove them.
Steps to reproduce the issue:
Describe the results you received:
See error and warning in syslog about SAI_SWITCH_ATTR_AVAILABLE_IPMC_ENTRY.
Describe the results you expected:
No such error and warning in syslog
Additional information you deem important (e.g. issue happens only occasionally):
This issue is found at commit hash 46b3bd5.
The text was updated successfully, but these errors were encountered: