-
Notifications
You must be signed in to change notification settings - Fork 3
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
ovs-kernel meter init error #337
Comments
Yes, that is correct behavior for the userspace to not delete the DP on restart. The probe may need some enhancement to cover this case, it seems. |
Yes, I understand that this probing is likely necessary to maintain compatibility with older kernel versions that don't support certain features. However, it appears that this probing can lead to the entire meter initialization failing when the dp is not deleted and only the user-space process is restarted, which in turn prevents the flow tables from being properly provisioned. |
After constructing the meter entries using the script below, killing the OVS process and restarting it will result in the following error.
log error:
|
I encountered an issue with meter initialization in the ovs-kernel. The root cause of the problem is that when we restart the user-space process, we didn't remove the dp (datapath), unload, and reload the kernel. However, the existing meter entries in the dp caused a hash collision, which resulted in the failure of meter initialization.
In lookup_meter, the search is performed based on the hash, but it also compares the meter ID. So, in the case of a conflict, it directly returns NULL without overwriting the existing meter, leading to errors when initially provisioning the two meters.
When probing from the user space, the meter conflict will be detected, causing the operation to fail.
So, is this approach of not deleting the dp and not reloading the kernel incorrect? I couldn't find any official documentation on this on the website.
The text was updated successfully, but these errors were encountered: