Search Linux Wireless

Re: [PATCH] mac80211: set IEEE80211_TX_CTL_FIRST_FRAGMENT for beacons

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

 



On Fri, May 07, 2010 at 02:43:44PM -0700, Luis R. Rodriguez wrote:
> On Thu, May 6, 2010 at 7:35 PM, John W. Linville <linville@xxxxxxxxxxxxx> wrote:
> > On Thu, May 06, 2010 at 08:13:20PM -0400, John W. Linville wrote:
> >> On Thu, May 06, 2010 at 03:01:25PM -0700, Luis R. Rodriguez wrote:
> >> > On Thu, May 6, 2010 at 11:45 AM, John W. Linville
> >> > <linville@xxxxxxxxxxxxx> wrote:
> >> >
> >> > Why though?
> >>
> >> Because it is correct, appropriate, and zero additional cost.  And
> >> because if you use the same tx path for beacons as you use for normal
> >> frames and if in that path you manage the sequence number in software
> >> you should be checking that flag before bumping the sequence number.
> >
> > That isn't worded too clearly...  If you manage the sequence number
> > in software then you should be checking that flag before bumping
> > the sequence number.  If you use the same tx path for beacons as is
> > used for normal frames and you don't set that flag for beacons,
> > then beacons will reuse the sequence number from the previous frame.
> >
> > Does that make sense?
> 
> Yeah, thanks, perhaps the documentation should be expanded for this on
> the mac80211.h. This verbiage might also come in handy on the commit
> log. What do you think?

Well, now that you mention it (from mac80211.h):

 * @IEEE80211_TX_CTL_ASSIGN_SEQ: The driver has to assign a sequence
 *      number to this frame, taking care of not overwriting the fragment
 *      number and increasing the sequence number only when the
 *      IEEE80211_TX_CTL_FIRST_FRAGMENT flag is set. mac80211 will properly
 *      assign sequence numbers to QoS-data frames but cannot do so correctly
 *      for non-QoS-data and management frames because beacons need them from
 *      that counter as well and mac80211 cannot guarantee proper sequencing.
 *      If this flag is set, the driver should instruct the hardware to
 *      assign a sequence number to the frame or assign one itself. Cf. IEEE
 *      802.11-2007 7.1.3.4.1 paragraph 3. This flag will always be set for
 *      beacons and always be clear for frames without a sequence number field.

Seems like we should have been setting that for beacons the whole time...

Anyway, I already committed it as it is -- it is a fairly simple patch.

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@xxxxxxxxxxxxx			might be all we have.  Be ready.
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux