Re: [PATCH v3] mac80211: mesh: set tx_info->hw_queue to the correct queue upon packet forwarding

From: Johannes Berg
Date: Thu Aug 11 2016 - 09:04:33 EST


On Mon, 2016-08-08 at 10:06 +0300, Yaniv Machani wrote:
> From: Meirav Kama <meiravk@xxxxxx>
>
> MP received data frames from another MP. Frames are forwarded
> from Rx to Tx to be transmitted to a third MP.
> Upon cloning the skb, the tx_info was zeroed, and the
> hw_queue wasn't set correctly, causing frames to be
> inserted to queue 0 (VOICE). If re-queue occurred for some
> reason, frame will be inserted to correct queue 2 (BE).
> In this case frames are now dequeued from 2 different queues and
> sent out of order.

Uh, sorry. I was so focused on the commit message and everything that I
neglected to look into the code change ... :(

> Â info->control.jiffies = jiffies;
> + info->hw_queue = q;
>
This is incorrect. 'q' appears to be the AC here, so you need to set
something likeÂvif->hw_queue[q], afaict? Check out tx.c where this is
set.

johannes