Skip to content
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

No cache support for genl #298

Open
jeffisaavs opened this issue Oct 21, 2021 · 2 comments
Open

No cache support for genl #298

jeffisaavs opened this issue Oct 21, 2021 · 2 comments

Comments

@jeffisaavs
Copy link

Many userspace applications (iw, wpa_supplicant, etc.) use netlink to interact with wireless drivers. However, the NETLINK_GENERIC protocol has no out-of-the-box caching mechanism.

I've noticed that messages received over netlink from iwlwifi are occasionally missing information. For instance, the response after issuing NL80211_CMD_GET_INTERFACE is occasionally missing fields in the NL80211_STA_INFO_TX_BITRATE nested attribute. This results in wpa_supplicant and iw reporting the incorrect MCS and link speed.

Is it possible to implement caching in genl? It seems like the first thing that would have to be done would be defining nl_cache_ops, but beyond that, I'm not sure how complicated the implementation would be.

@chengyechun
Copy link

hello,l don't understand,what do your mean, Is to define nl_cache_ops in genl as in libnl/cache.c or addition of nl_cache_ops?
what fields do you want to caching.

@jeffisaavs
Copy link
Author

I've observed that NL80211_STA_INFO_TX_BITRATE occasionally has null fields when I issue the NL80211_CMD_GET_INTERFACE command. I don't know the cause of this problem. But I do know that applications like iw and wpa_supplicant never expect a null value back from the driver. Is the correct way to fix this to implement nl_cache_ops for the nl80211?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants