Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 May 2011 02:23:59 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/net80211 ieee80211_adhoc.c ieee80211_hostap.c ieee80211_input.h ieee80211_mesh.c ieee80211_sta.c ieee80211_wds.c
Message-ID:  <201105040224.p442OHEA078806@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
adrian      2011-05-04 02:23:59 UTC

  FreeBSD src repository

  Modified files:
    sys/net80211         ieee80211_adhoc.c ieee80211_hostap.c 
                         ieee80211_input.h ieee80211_mesh.c 
                         ieee80211_sta.c ieee80211_wds.c 
  Log:
  SVN rev 221418 on 2011-05-04 02:23:59Z by adrian
  
  Fix some corner cases in the net80211 sequence number retransmission
  handling.
  
  The current sequence number code does a few things incorrectly:
  
  * It didn't try eliminating duplications from HT nodes. I guess it's assumed
    that out of order / retransmission handling would be handled by the AMPDU RX
    routines. If a HT node isn't doing AMPDU RX, then retransmissions need to
    be eliminated. Since most of my debugging is based on this (as AMPDU TX
    software packet aggregation isn't yet handled), handle this corner case.
  
  * When a sequence number of 4095 was received, any subsequent sequence number
    is going to be (by definition) less than 4095. So if the following sequence
    number (0) doesn't initially occur and the retransmit is received, it's
    incorrectly eliminated by the IEEE80211_FC1_RETRY && SEQ_LEQ() check.
    Try to handle this better.
  
  This almost completely eliminates out of order TCP statistics showing up during
  iperf testing for the 11a, 11g and non-aggregate 11n AMPDU RX case. The only
  other packet loss conditions leading to this are due to baseband resets or
  heavy interference.
  
  Revision  Changes    Path
  1.22      +1 -5      src/sys/net80211/ieee80211_adhoc.c
  1.34      +1 -5      src/sys/net80211/ieee80211_hostap.c
  1.5       +98 -0     src/sys/net80211/ieee80211_input.h
  1.19      +1 -4      src/sys/net80211/ieee80211_mesh.c
  1.40      +1 -5      src/sys/net80211/ieee80211_sta.c
  1.19      +1 -5      src/sys/net80211/ieee80211_wds.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105040224.p442OHEA078806>