cvs commit: src/sys/netproto/802_11/wlan ieee80211_input.c

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Fri Jun 15 05:05:35 PDT 2007


sephe       2007/06/15 05:04:45 PDT

DragonFly src repository

  Modified files:
    sys/netproto/802_11/wlan ieee80211_input.c 
  Log:
  Some non-802.11e non-standard conforming APs use seperate TX sequences
  for non-beacon frames and beacons.  If local cache of <addr2,seq,fragno>
  tuple is updated when beacons from such kind of AP are received, 802.11
  duplication detection mechanism may decide to discard non-beacon retry
  frames if its sequence is less than or equal to just received beacon's.
  Together with the poor TX rate control algorithm chosen by these kinds
  of APs, i.e. a lot of retry data frames, a TCP connection can be choked
  by STA's duplication detection mechanism.
  
  To handle these kinds of APs (yep, we are in the world of compat):
  Don't update cache of <addr2,seq,fragno> tuple for multicast or broadcast
  802.11 MAC frames.  This does not violate IEEE Std 802.11, 1999 Edition
  subclause 9.2.9, which actually allows us to "omit tuples obtained from
  broadcast/multicast ...".
  
  Thank Petr Janda <elekktretterr at exemail.com.au> for providing all
  necessary 802.11 tcpdumps to track down the problem.
  
  Thank dillon@ for analyzing some tcpdumps which leads me to think that
  the reported problem may be caused by the duplication detection in
  802.11 layer.
  
  Reported-by: Petr Janda <elekktretterr at exemail.com.au>
  Tested-by: Petr Janda <elekktretterr at exemail.com.au>
  
  Revision  Changes    Path
  1.21      +1 -1      src/sys/netproto/802_11/wlan/ieee80211_input.c


http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/wlan/ieee80211_input.c.diff?r1=1.20&r2=1.21&f=u





More information about the Commits mailing list