nl80211: Increase netlink receive buffer size
libnl uses a pretty small buffer (32 kB that gets converted to 64 kB) by default. It is possible to hit that limit in some cases where operations are blocked, e.g., with a burst of Deauthentication frames to hostapd and STA entry deletion. Try to increase the buffer to make this less likely to occur. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
a60dbbce44
commit
630b3230c8
1 changed files with 14 additions and 0 deletions
|
@ -132,6 +132,20 @@ static void nl80211_register_eloop_read(struct nl_handle **handle,
|
|||
eloop_sock_handler handler,
|
||||
void *eloop_data)
|
||||
{
|
||||
/*
|
||||
* libnl uses a pretty small buffer (32 kB that gets converted to 64 kB)
|
||||
* by default. It is possible to hit that limit in some cases where
|
||||
* operations are blocked, e.g., with a burst of Deauthentication frames
|
||||
* to hostapd and STA entry deletion. Try to increase the buffer to make
|
||||
* this less likely to occur.
|
||||
*/
|
||||
if (nl_socket_set_buffer_size(*handle, 262144, 0) < 0) {
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"nl80211: Could not set nl_socket RX buffer size: %s",
|
||||
strerror(errno));
|
||||
/* continue anyway with the default (smaller) buffer */
|
||||
}
|
||||
|
||||
nl_socket_set_nonblocking(*handle);
|
||||
eloop_register_read_sock(nl_socket_get_fd(*handle), handler,
|
||||
eloop_data, *handle);
|
||||
|
|
Loading…
Reference in a new issue