qca-wifi-7/hostapd: increase socket buffer sizes

Fixes: WIFI-14742
Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
John Crispin
2025-07-17 18:17:02 +02:00
parent 66df8d3946
commit 69da9125c5

View File

@@ -1,11 +1,36 @@
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -127,7 +127,7 @@ static void nl80211_register_eloop_read(
*/
int err;
--- a/src/ap/vlan_full.c
+++ b/src/ap/vlan_full.c
@@ -772,6 +772,7 @@ full_dynamic_vlan_init(struct hostapd_da
{
struct sockaddr_nl local;
struct full_dynamic_vlan *priv;
+ int rxbuf = 262144;
- err = nl_socket_set_buffer_size(*handle, 262144, 0);
+ err = nl_socket_set_buffer_size(*handle, 1048576, 0);
if (err < 0) {
wpa_printf(MSG_DEBUG,
"nl80211: Could not set nl_socket RX buffer size: %s",
priv = os_zalloc(sizeof(*priv));
if (priv == NULL)
@@ -790,6 +791,7 @@ full_dynamic_vlan_init(struct hostapd_da
os_free(priv);
return NULL;
}
+ setsockopt(priv->s, SOL_SOCKET, SO_RCVBUF, &rxbuf, sizeof(rxbuf));
os_memset(&local, 0, sizeof(local));
local.nl_family = AF_NETLINK;
--- a/src/drivers/netlink.c
+++ b/src/drivers/netlink.c
@@ -92,6 +92,7 @@ struct netlink_data * netlink_init(struc
{
struct netlink_data *netlink;
struct sockaddr_nl local;
+ int rxbuf = 262144;
netlink = os_zalloc(sizeof(*netlink));
if (netlink == NULL)
@@ -105,6 +106,7 @@ struct netlink_data * netlink_init(struc
return NULL;
}
+ setsockopt(netlink->sock, SOL_SOCKET, SO_RCVBUF, &rxbuf, sizeof(rxbuf));
os_memset(&local, 0, sizeof(local));
local.nl_family = AF_NETLINK;
local.nl_groups = RTMGRP_LINK;