AP/driver: Add link id to the set_tx_queue_params() callback

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
Ilan Peer 2023-05-22 22:33:56 +03:00 committed by Jouni Malinen
parent fbbca2bf16
commit d3e20b2113
3 changed files with 18 additions and 3 deletions

View file

@ -659,10 +659,19 @@ int hostapd_set_country(struct hostapd_data *hapd, const char *country)
int hostapd_set_tx_queue_params(struct hostapd_data *hapd, int queue, int aifs,
int cw_min, int cw_max, int burst_time)
{
int link_id = -1;
if (hapd->driver == NULL || hapd->driver->set_tx_queue_params == NULL)
return 0;
#ifdef CONFIG_IEEE80211BE
if (hapd->conf->mld_ap)
link_id = hapd->mld_link_id;
#endif /* CONFIG_IEEE80211BE */
return hapd->driver->set_tx_queue_params(hapd->drv_priv, queue, aifs,
cw_min, cw_max, burst_time);
cw_min, cw_max, burst_time,
link_id);
}

View file

@ -3740,9 +3740,10 @@ struct wpa_driver_ops {
* @cw_min: cwMin
* @cw_max: cwMax
* @burst_time: Maximum length for bursting in 0.1 msec units
* @link_id: Link ID to use, or -1 for non MLD.
*/
int (*set_tx_queue_params)(void *priv, int queue, int aifs, int cw_min,
int cw_max, int burst_time);
int cw_max, int burst_time, int link_id);
/**
* if_add - Add a virtual interface

View file

@ -7959,7 +7959,8 @@ static int i802_read_sta_data(struct i802_bss *bss,
static int i802_set_tx_queue_params(void *priv, int queue, int aifs,
int cw_min, int cw_max, int burst_time)
int cw_min, int cw_max, int burst_time,
int link_id)
{
struct i802_bss *bss = priv;
struct wpa_driver_nl80211_data *drv = bss->drv;
@ -8011,6 +8012,10 @@ static int i802_set_tx_queue_params(void *priv, int queue, int aifs,
nla_nest_end(msg, txq);
if (link_id != NL80211_DRV_LINK_ID_NA &&
nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))
goto fail;
res = send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
wpa_printf(MSG_DEBUG,
"nl80211: TX queue param set: queue=%d aifs=%d cw_min=%d cw_max=%d burst_time=%d --> res=%d",