cvs commit: src/sys/netproto/802_11 ieee80211_proto.h src/sys/netproto/802_11/wlan ieee80211.c ieee80211_proto.c

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Thu Apr 26 06:00:00 PDT 2007


sephe       2007/04/26 05:59:14 PDT

DragonFly src repository

  Modified files:
    sys/netproto/802_11  ieee80211_proto.h 
    sys/netproto/802_11/wlan ieee80211.c ieee80211_proto.c 
  Log:
  - Factor out ieee80211_reset_state() from ieee80211_newstate(), so
    802.11 layer can clean up its internal state machine without state
    changing or going through driver code.
  - Merge sta_disassoc() and sta_disauth() into sta_disconnect(), which
    sends disassoc to associated STA and deauth to authenticating STA.
  - Call ieee80211_reset_state(), if operational mode is going to be
    changed, so we will do a proper state machine clean up.  In the
    original way, if we are acting as AP and switch directly to act as
    STA, we will send out wrong management frames.
  - Call ieee80211_reset_state(), if PHY is going to be changed.  This
    prevents panic (due to a proper assertion) under following scenario:
    o  Current PHY of the AP is 11b.
    o  An 11b STA joins the BSS created by the AP.  Since AP's current
       PHY is 11b, this STA will not be counted as long slot time STA,
       i.e. long slot time STA count left untouched.
    o  Switch AP's PHY to 11g.
    AP will panick (long slot time STA count is zero, while there is a
    long slot time STA associated, in ieee80211_node_leave_11g()).  The
    assertion fails, because 802.11 state machine is doing its clean up
    as if AP were using 11g PHY, but it actually used 11b PHY.
  
  Revision  Changes    Path
  1.12      +1 -0      src/sys/netproto/802_11/ieee80211_proto.h
  1.15      +21 -0     src/sys/netproto/802_11/wlan/ieee80211.c
  1.12      +71 -58    src/sys/netproto/802_11/wlan/ieee80211_proto.c


http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/ieee80211_proto.h.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/wlan/ieee80211.c.diff?r1=1.14&r2=1.15&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/802_11/wlan/ieee80211_proto.c.diff?r1=1.11&r2=1.12&f=u





More information about the Commits mailing list