Date: Tue, 17 Apr 2012 11:12:49 -0700 From: Adrian Chadd <adrian@freebsd.org> To: freebsd-wireless@freebsd.org Subject: Question: IEEE80211_RATE_BASIC versus IEEE80211_RATE_MCS ? Message-ID: <CAJ-Vmo=L8jhvBwoLpF1Hu1M870ZV%2Bp-G5Vn6HW-HCFV842KLBw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, So after doing some digging into the rate representation, I've discovered that both IEEE80211_RATE_BASIC and IEEE80211_RATE_MCS are represented as the high bit set (ie, 0x80.) My query is - how exactly should we be representing rates, and is there a clear, consistent, non-overlapping use case for where each is used? This shows up in setbasicrates(), where the 11na/11ng modes have the OFDM/CCK (respectively) rates set as basic, just like for 11a/11bg, however the high bit is set. ifconfig(8) at least just looks at the tx rateset list (which setbasicrates is setting up for us) and mis-interpreting the high bit as MCS, rather than as "basic". Any ideas/suggestions? I'd be tempted to create a 'ratecode_t' that is a uint8_t struct, then finding/fixing all instances where ratecode is being passed in as a uint8_t, but that may be slightly overkill. Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=L8jhvBwoLpF1Hu1M870ZV%2Bp-G5Vn6HW-HCFV842KLBw>