From: Arend van Spriel <arend.vanspriel@broadcom.com>
To: Johannes Berg <johannes@sipsolutions.net>,
linux-wireless@vger.kernel.org
Cc: "Felix Fietkau" <nbd@nbd.name>,
"Toke Høiland-Jørgensen" <toke@toke.dk>,
"Johannes Berg" <johannes.berg@intel.com>
Subject: Re: [PATCH] mac80211: use non-zero TID only for QoS frames
Date: Wed, 5 Sep 2018 10:06:27 +0200 [thread overview]
Message-ID: <5B8F8E83.1090707@broadcom.com> (raw)
In-Reply-To: <20180905080036.9177-1-johannes@sipsolutions.net>
On 9/5/2018 10:00 AM, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>
>
> Some frames may have a non-zero skb->priority assigned by
> mac80211 internally, e.g. TDLS setup frames, regardless of
> support for QoS.
>
> Currently, we set skb->priority to 0 for all data frames.
> Note that there's a comment that this is "required for
> correct WPA/11i MIC", but that doesn't seem true as we use
>
> if (ieee80211_is_data_qos(hdr->frame_control))
> qos_tid = ieee80211_get_tid(hdr);
> else
> qos_tid = 0;
>
> in the code there. We could therefore reconsider this, but
> it seems like unnecessary complexity for the unlikely (and
> not very useful) case of not having QoS on the connection.
>
> This situation then causes something strange - most data
> frames will go on TXQ for TID 0 for non-QoS connections,
> but very few exceptions that are internally generated will
> go on another TXQ, possibly causing confusion.
>
> Avoid this confusion by putting non-QoS data frames into
> TID 0 regardless of the skb->priority.
>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> net/mac80211/tx.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
> index 5b6e06ad35ff..6540595addd1 100644
> --- a/net/mac80211/tx.c
> +++ b/net/mac80211/tx.c
> @@ -1260,7 +1260,10 @@ static struct txq_info *ieee80211_get_txq(struct ieee80211_local *local,
> txq = sta->sta.txq[IEEE80211_NUM_TIDS];
> }
> } else if (sta) {
> - u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK;
> + u8 tid = 0;
> +
> + if (hdr->frame_control & cpu_to_le16(IEEE80211_STYPE_QOS_DATA))
> + tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK;
Is the use of different mask intentional here? Just a quick glance so
did not look into it further.
Gr. AvS
next prev parent reply other threads:[~2018-09-05 12:35 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-05 8:00 [PATCH] mac80211: use non-zero TID only for QoS frames Johannes Berg
2018-09-05 8:06 ` Arend van Spriel [this message]
2018-09-05 8:09 ` Johannes Berg
2018-09-05 9:47 ` Toke Høiland-Jørgensen
2018-09-05 9:50 ` Johannes Berg
2018-09-05 9:56 ` Toke Høiland-Jørgensen
2018-09-05 10:56 ` Johannes Berg
2018-09-05 11:07 ` Toke Høiland-Jørgensen
2018-09-05 11:08 ` Johannes Berg
2018-09-05 11:12 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5B8F8E83.1090707@broadcom.com \
--to=arend.vanspriel@broadcom.com \
--cc=johannes.berg@intel.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=nbd@nbd.name \
--cc=toke@toke.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.