I'm trying to come up with a more acceptable patch to the problem discussed a few years ago: http://thread.gmane.org/gmane.linux.kernel.wireless.general/64582/focus=64626 The patch below appears to work as expected. In pktgen, you just have to set the QoS to whatever value matches the queue you need. This seem reasonable? Thanks, Ben diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index d445bb1..c770f19 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -1544,6 +1544,18 @@ void ieee80211_xmit(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb, } } + /* This check needs to go in before the QoS header is set below. */ + if (skb->priority > 7 || + skb->queue_mapping != ieee802_1d_to_ac[skb->priority]) { + WARN_ONCE(1, "Invalid queue-mapping, priority: %i queue-mapping: %i. This is an expected warning + (int)(skb->priority), (int)(skb->queue_mapping)); + /* Adjust queue-mapping to match what the wifi stack expects. + * pktgen will just have to set QoS bits accordingly instead + * of trying to set the queue_mapping directly. + */ + skb_set_queue_mapping(skb, ieee80211_select_queue(sdata, skb)); + } + ieee80211_set_qos_hdr(sdata, skb); ieee80211_tx(sdata, skb, false, band); } -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com -- 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