Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#11 currentIFS not reset upon completion of post-backoff

v2.2
closed-fixed
nobody
MAC (4)
5
2011-12-16
2011-12-16
Galactix
No

In Mac80211, currentIFS is set to DIFS upon successful reception and EIFS upon reception of a corrupted frame. This is correct. However, currentIFS remains unchanged while performing post-backoff. As a result, the EIFS related to reception of a corrupted frame (and subsequent post-backoff) is used again in the minimum duration of idle time before a transmission is performed (i.e. the mandatory IFS during which a station decides whether to transmit directly or go do backoff). This results in incorrect behaviour, as this is a new opportunity.

A fix is simple: in handleEndContentionTimer(), add "currentIFS = DIFS;" inside the state==IDLE if-clause. This is where post-backoff completes and not only remainingBackoff but also currentIFS should be reset.

See also:
http://www.freeminded.org/?p=811

Discussion

  • Michael Lindig
    Michael Lindig
    2011-12-16

    fixed in GIT

     
  • Michael Lindig
    Michael Lindig
    2011-12-16

    • milestone: 2032883 --> v2.2
    • status: open --> open-fixed
     
  • Michael Lindig
    Michael Lindig
    2011-12-16

    • status: open-fixed --> closed-fixed
     
  • Michael Lindig
    Michael Lindig
    2011-12-16

    fixed in GIT