]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Remove unused TX queue parameters related to Beacon frames
authorJouni Malinen <j@w1.fi>
Thu, 4 Nov 2010 23:23:17 +0000 (01:23 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 4 Nov 2010 23:23:17 +0000 (01:23 +0200)
These are not used by any driver wrapper, i.e., only the four
data queues (BK, BE, VI, VO) are configurable. Better remove these
so that there is no confusion about being able to configure
something additional.

hostapd/config_file.c
hostapd/hostapd.conf
src/ap/ap_config.h
src/drivers/driver.h
src/drivers/driver_nl80211.c

index e53d9c1175e88dc7f088339156690114344c79cc..ac69f24372e38bacb6cf36de3699847a60f63e75 100644 (file)
@@ -752,10 +752,7 @@ enum {
        IEEE80211_TX_QUEUE_DATA0 = 0, /* used for EDCA AC_VO data */
        IEEE80211_TX_QUEUE_DATA1 = 1, /* used for EDCA AC_VI data */
        IEEE80211_TX_QUEUE_DATA2 = 2, /* used for EDCA AC_BE data */
-       IEEE80211_TX_QUEUE_DATA3 = 3, /* used for EDCA AC_BK data */
-       IEEE80211_TX_QUEUE_DATA4 = 4,
-       IEEE80211_TX_QUEUE_AFTER_BEACON = 6,
-       IEEE80211_TX_QUEUE_BEACON = 7
+       IEEE80211_TX_QUEUE_DATA3 = 3 /* used for EDCA AC_BK data */
 };
 
 static int hostapd_config_tx_queue(struct hostapd_config *conf, char *name,
@@ -771,17 +768,21 @@ static int hostapd_config_tx_queue(struct hostapd_config *conf, char *name,
            pos[4] >= '0' && pos[4] <= '9' && pos[5] == '_') {
                num = pos[4] - '0';
                pos += 6;
-       } else if (os_strncmp(pos, "after_beacon_", 13) == 0) {
-               num = IEEE80211_TX_QUEUE_AFTER_BEACON;
-               pos += 13;
-       } else if (os_strncmp(pos, "beacon_", 7) == 0) {
-               num = IEEE80211_TX_QUEUE_BEACON;
-               pos += 7;
+       } else if (os_strncmp(pos, "after_beacon_", 13) == 0 ||
+                  os_strncmp(pos, "beacon_", 7) == 0) {
+               wpa_printf(MSG_INFO, "DEPRECATED: '%s' not used", name);
+               return 0;
        } else {
                wpa_printf(MSG_ERROR, "Unknown tx_queue name '%s'", pos);
                return -1;
        }
 
+       if (num >= NUM_TX_QUEUES) {
+               /* for backwards compatibility, do not tricker failure */
+               wpa_printf(MSG_INFO, "DEPRECATED: '%s' not used", name);
+               return 0;
+       }
+
        queue = &conf->tx_queue[num];
 
        if (os_strcmp(pos, "aifs") == 0) {
index 85b80b2f5a8516b2f9b2dfb628b4f7b4b043857a..a9cd02386fcac03d359951d21ca67a657fb54ccf 100644 (file)
@@ -240,18 +240,6 @@ ignore_broadcast_ssid=0
 #tx_queue_data0_cwmax=7
 #tx_queue_data0_burst=1.5
 # Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
-#
-# Special queues; normally not user configurable
-#
-#tx_queue_after_beacon_aifs=2
-#tx_queue_after_beacon_cwmin=15
-#tx_queue_after_beacon_cwmax=1023
-#tx_queue_after_beacon_burst=0
-#
-#tx_queue_beacon_aifs=2
-#tx_queue_beacon_cwmin=3
-#tx_queue_beacon_cwmax=7
-#tx_queue_beacon_burst=1.5
 
 # 802.1D Tag (= UP) to AC mappings
 # WMM specifies following mapping of data frames to different ACs. This mapping
index fc74d8041464cf3f7e4e34e30edb420225953205..fd2abcef1952c11d1c88f1f353dffa66667b02e1 100644 (file)
@@ -123,7 +123,7 @@ struct hostapd_eap_user {
 };
 
 
-#define NUM_TX_QUEUES 8
+#define NUM_TX_QUEUES 4
 
 struct hostapd_tx_queue_params {
        int aifs;
index 6d9f55cb66c5e5191f1331573a623c4f6458e5c8..e0ee183c83e3e7652cc2343c3e909fff2029a9be 100644 (file)
@@ -1529,7 +1529,7 @@ struct wpa_driver_ops {
        /**
         * set_tx_queue_params - Set TX queue parameters
         * @priv: Private driver interface data
-        * @queue: Queue number
+        * @queue: Queue number (0 = VO, 1 = VI, 2 = BE, 3 = BK)
         * @aifs: AIFS
         * @cw_min: cwMin
         * @cw_max: cwMax
index 5caa2fc68f2a592bc12ef5a4bef6111292dd23ce..250bff4d4a49b133b623cb6c92957ad40f82d704 100644 (file)
@@ -4866,7 +4866,20 @@ static int i802_set_tx_queue_params(void *priv, int queue, int aifs,
        if (!params)
                goto nla_put_failure;
 
-       NLA_PUT_U8(msg, NL80211_TXQ_ATTR_QUEUE, queue);
+       switch (queue) {
+       case 0:
+               NLA_PUT_U8(msg, NL80211_TXQ_ATTR_QUEUE, NL80211_TXQ_Q_VO);
+               break;
+       case 1:
+               NLA_PUT_U8(msg, NL80211_TXQ_ATTR_QUEUE, NL80211_TXQ_Q_VI);
+               break;
+       case 2:
+               NLA_PUT_U8(msg, NL80211_TXQ_ATTR_QUEUE, NL80211_TXQ_Q_BE);
+               break;
+       case 3:
+               NLA_PUT_U8(msg, NL80211_TXQ_ATTR_QUEUE, NL80211_TXQ_Q_BK);
+               break;
+       }
        /* Burst time is configured in units of 0.1 msec and TXOP parameter in
         * 32 usec, so need to convert the value here. */
        NLA_PUT_U16(msg, NL80211_TXQ_ATTR_TXOP, (burst_time * 100 + 16) / 32);