2009/8/21 Rafael Laufer <rlaufer@xxxxxxxxxxx>: > Gábor Stefanik wrote: >> 2009/8/21 Rafael Laufer <rlaufer@xxxxxxxxxxx>: >> >>> Gábor Stefanik wrote: >>> >>>> 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. >>>> >>> ok, I am resending the patch. I included a new flag called >>> IEEE80211_TX_CTL_RATE_RADIOTAP to indicate if the rate has >>> been set in the radiotap header. If not, then the rate control >>> algorithm is called. >>> >> >> Isn't it easier to check whether we already have a rate configured? >> (info->control.rates[0].idx is set to an invalid value before the >> rate_control_get_rate call AFAIK, unless you set it in the radiotap >> decoding function before.) >> > > I guess it is also possible, but in that case you rely on the assumption > that the rate is invalid before rate_control_get_rate(). If in the > future this assumption does not hold, the code will break. If, however, > this is always gonna be true, I can change the code to use your > suggestion. Personally, I prefer to use another flag so that future > changes do not affect this code, but let me know what is best. > > Rafael > Actually, that's a good point. One thing to watch out for is that the actual rate index is not the only thing the rate controller sets - it is also responsible for things like retry count & RTS/CTS usage. Those are controlled by other radiotap fields. So, if any of these values is unset in radiotap, you will need to call rate control for them, or auto-generate them in other ways. Otherwise you may end up with e.g. an incorrect retry count. -- 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