wiki:802.11/MAC/Upper

Version 11 (modified by chunter, 11 years ago) (diff)

--

The 802.11 Reference Design and its documentation are under active development by the Mango team. The current release should be considered a beta- updates with bug fixes, API changes, new features and other refinements will be posted frequently. Please check the downloads page for the latest updates and post any questions about the design to the forums.

High-level MAC Description

The high-level MAC is responsible for inter-packet states that are not time critical. The state machine implemented by the high-level MAC has 6 states: Idle, MPDU Tx, MPDU Rx, Ethernet Tx, Ethernet Rx, and Scheduled Event.

States

  • Idle: This state is the default state where no actions are performed by the high-level MAC. All other states return to Idle when completed.
  • MPDU Tx: This state handles the transmission of wireless MPDUs from a transmit queue.
  • MPDU Rx: This state handles the reception of wireless MPDUs.
  • Ethernet Tx: This state handles the transmission of wired Ethernet frames.
  • Ethernet Rx: This state handles the reception of wired Ethernet frames.
  • Scheduled Event: This state handles actions by the high-level MAC that are internally scheduled for times in the future.

State Transitions

  • IdleMPDU Tx: This transition occurs when two conditions are met: (a) The low-level MAC? has indicated that it is ready to receiver another packet for wireless transmission and (b) the transmit queue in the high-level MAC contains a packet that needs to be sent.
  • IdleMPDU Rx: This transition occurs when the low-level MAC? has indicated that a reception has occurred with the following criteria: (a) the received packet is not a control packet (e.g. ACK, RTS, CTS) and (b) the received packet has a receiver address that is either a broadcast packet or a unicast packet whose address matches the MAC address of the node running this software.
  • MPDU RxEthernet Tx: This transition occurs when a wireless MPDU data reception occurs that should be de-encapsulated and via Ethernet. Note: Unlike the MPDU Tx state, the Ethernet Tx state does not employ a queue. As such, it can be directly accessed from the MPDU Rx state without transitioning through Idle. The reason for this is that, even at the fastest 802.11g rates, wireless packets are much slower than wired packets. When receiving a wireless packet, there is enough time to directly transmit a wired packet without halting the next wireless reception. This is not the case for wired receptions.
  • IdleEthernet Rx: This transition occurs when any packet has been received by the Ethernet MAC on the board.
  • IdleScheduled Event: