Search Linux Wireless

Another try at getting pktgen to work with wifi.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux