On Fri, Aug 21, 2009 at 10:18 AM, Johannes Berg<johannes@xxxxxxxxxxxxxxxx> wrote: > On Thu, 2009-08-20 at 17:40 -0700, Rafael Laufer wrote: >> This patch implements the IEEE80211_RADIOTAP_RATE >> option when parsing radiotap headers to allow rate >> selection on a per-packet basis. >> >> >> Signed-off-by: Rafael Laufer <rlaufer@xxxxxxxxxxx> >> --- >> Implementation of the IEEE80211_RADIOTAP_RATE >> option when parsing radiotap headers to allow >> rate selection on a per-packet basis. >> >> net/mac80211/tx.c | 18 +++++++++++++++++- >> 1 files changed, 17 insertions(+), 1 deletions(-) >> >> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c >> index 10a1099..41d636b 100644 >> --- a/net/mac80211/tx.c >> +++ b/net/mac80211/tx.c >> @@ -549,7 +549,10 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx) >> * If we're associated with the sta at this point we know we can at >> * least send the frame at the lowest bit rate. >> */ >> - rate_control_get_rate(tx->sdata, tx->sta, &txrc); >> + >> + /* in monitor mode, we already have the rate from the radiotap header */ >> + if (likely(!(info->flags & IEEE80211_TX_CTL_INJECTED))) >> + rate_control_get_rate(tx->sdata, tx->sta, &txrc); > > NAK, the rate is optional in the radiotap header, and if not given then > regular rate control must be used. > > johannes > Also, I think something more powerful than the current "rate" field would be needed, with support for MCS indexes, channel width, retry count, etc. - one that can configure all values rate_control_get_rate would perform. I'm planning a Radiotap meeting on Freenode with the radiotap.h maintainers in various OSes participating, so the field 14+ mess can be cleaned up once for all - that's when I'll probably propose this field. Maybe a new IEEE80211_TX_CTL_ or IEEE80211_TX_RC_ flag will also be needed, so Radiotap can indicate whether rate_control_get_rate needs to be called. -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html