I made this patch to test RTS/CTS operation in drivers, do you think it's useful apart that and should be merged? --- Documentation/networking/mac80211-injection.txt | 6 ++++++ net/mac80211/tx.c | 10 ++++++++++ 2 files changed, 16 insertions(+) --- everything.orig/net/mac80211/tx.c 2008-02-19 18:41:18.401563530 +0100 +++ everything/net/mac80211/tx.c 2008-02-19 18:41:21.631563150 +0100 @@ -840,6 +840,7 @@ __ieee80211_parse_tx_radiotap(struct iee struct ieee80211_supported_band *sband; int ret = ieee80211_radiotap_iterator_init(&iterator, rthdr, skb->len); struct ieee80211_tx_control *control = tx->u.tx.control; + u16 val16; sband = tx->local->hw.wiphy->bands[tx->local->hw.conf.channel->band]; @@ -922,6 +923,15 @@ __ieee80211_parse_tx_radiotap(struct iee tx->flags |= IEEE80211_TXRXD_FRAGMENTED; break; + case IEEE80211_RADIOTAP_TX_FLAGS: + val16 = le16_to_cpu(get_unaligned((__le16 *) iterator.this_arg)); + + if (val16 & IEEE80211_RADIOTAP_F_TX_RTS) + control->flags |= IEEE80211_TXCTL_USE_RTS_CTS; + else if (val16 & IEEE80211_RADIOTAP_F_TX_CTS) + control->flags |= IEEE80211_TXCTL_USE_CTS_PROTECT; + break; + /* * Please update the file * Documentation/networking/mac80211-injection.txt --- everything.orig/Documentation/networking/mac80211-injection.txt 2008-02-18 15:29:41.068223795 +0100 +++ everything/Documentation/networking/mac80211-injection.txt 2008-02-19 18:41:21.661561252 +0100 @@ -40,6 +40,12 @@ radiotap headers and used to control inj this flag is only reliable when software fragmentation is enabled) + * IEEE80211_RADIOTAP_TX_FLAGS + + IEEE80211_RADIOTAP_F_TX_RTS: use RTS/CTS handshake + IEEE80211_RADIOTAP_F_TX_CTS: use CTS-to-self protection + + The injection code can also skip all other currently defined radiotap fields facilitating replay of captured radiotap headers directly. - 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