Fix WMM default parameters
authorLennert Buytenhek <buytenh@wantstofly.org>
Wed, 6 Jan 2010 18:48:29 +0000 (20:48 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 6 Jan 2010 18:48:29 +0000 (20:48 +0200)
wmm_ac_??_cw{min,max} parameters are in log form

When the wme_ac_??_cw{min,max} parameters aren't specified in
hostapd.conf, hostapd uses an incorrect set of default values, as the
defaults are in 2^x-1 form instead of in log form.  This patch changes
them over to the expected log form.

src/ap/ap_config.c

index c695de1..20be2d4 100644 (file)
@@ -92,15 +92,15 @@ struct hostapd_config * hostapd_config_defaults(void)
        struct hostapd_config *conf;
        struct hostapd_bss_config *bss;
        int i;
-       const int aCWmin = 15, aCWmax = 1024;
+       const int aCWmin = 4, aCWmax = 10;
        const struct hostapd_wmm_ac_params ac_bk =
                { aCWmin, aCWmax, 7, 0, 0 }; /* background traffic */
        const struct hostapd_wmm_ac_params ac_be =
                { aCWmin, aCWmax, 3, 0, 0 }; /* best effort traffic */
        const struct hostapd_wmm_ac_params ac_vi = /* video traffic */
-               { aCWmin >> 1, aCWmin, 2, 3000 / 32, 1 };
+               { aCWmin - 1, aCWmin, 2, 3000 / 32, 1 };
        const struct hostapd_wmm_ac_params ac_vo = /* voice traffic */
-               { aCWmin >> 2, aCWmin >> 1, 2, 1500 / 32, 1 };
+               { aCWmin - 2, aCWmin - 1, 2, 1500 / 32, 1 };
 
        conf = os_zalloc(sizeof(*conf));
        bss = os_zalloc(sizeof(*bss));