Linux wireless drivers development
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Karl Beldan <karl.beldan@gmail.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	Karl Beldan <karl.beldan@rivierawaves.com>
Subject: Re: [PATCH] mac80211: always pick a basic rate to tx RTS/CTS for pre-HT rates
Date: Tue, 09 Apr 2013 12:29:16 +0200	[thread overview]
Message-ID: <1365503356.8465.37.camel@jlt4.sipsolutions.net> (raw)
In-Reply-To: <1365156384-6699-1-git-send-email-karl.beldan@gmail.com> (sfid-20130405_121029_391208_2FD323E8)

On Fri, 2013-04-05 at 12:06 +0200, Karl Beldan wrote:
> From: Karl Beldan <karl.beldan@rivierawaves.com>
> 
> When the 1st rate control entry is a pre-HT rate we want to set
> rts_cts_rate_idx "as the fastest basic rate that is not faster than the
> data rate"(code comments).
> But in case some bss allowed rate indexes are lower than the lowest bss
> basic rate, if the rate control selects a rate among the formers for its
> 1st rate control entry, rts_cts_rate_idx remains 0 and is not a basic
> rate index.
> This commit sets rts_cts_rate_idx to the lowest bss basic rate index in
> this situation.

I guess it's a good thing you're looking at this code. However, I'm not
sure what you're doing here is correct. In this case, the PHY mandatory
rates should be used. See 9.7.6.5.2 "Selection of a rate or MCS":

        To allow the transmitting STA to calculate the contents of the
        Duration/ID field, a STA responding to a received frame
        transmits its control response frame at a primary rate, or at an
        alternate rate, or at an MCS, as specified by the following
        rules:

              * If a CTS or ACK control response frame is carried in a
                non-HT PPDU, the primary rate is defined to be the
                highest rate in the BSSBasicRateSet parameter that is
                less than or equal to the rate (or non-HT reference
                rate; see 9.7.9) of the previous frame. If no rate in
                the BSSBasicRateSet parameter meets these conditions,
                the primary rate is defined to be the highest mandatory
                rate of the attached PHY that is less than or equal to
                the rate (or non-HT reference rate; see 9.7.9) of the
                previous frame. The STA may select an alternate rate
                according to the rules in 9.7.6.5.4. The STA shall
                transmit the non-HT PPDU CTS or ACK control response
                frame at either the primary rate or the alternate rate,
                if one exists.

johannes


  reply	other threads:[~2013-04-09 10:29 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 10:06 [PATCH] mac80211: always pick a basic rate to tx RTS/CTS for pre-HT rates Karl Beldan
2013-04-09 10:29 ` Johannes Berg [this message]
2013-04-09 10:55   ` Karl Beldan
2013-04-09 11:05     ` Johannes Berg
2013-04-09 11:10       ` Karl Beldan
2013-04-09 11:16         ` Johannes Berg
2013-04-09 11:21           ` Karl Beldan
2013-04-11 10:02 ` Johannes Berg
2013-04-11 10:42   ` Karl Beldan

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=1365503356.8465.37.camel@jlt4.sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=karl.beldan@gmail.com \
    --cc=karl.beldan@rivierawaves.com \
    --cc=linux-wireless@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox