Share via


Guidelines for Native 802.11 Send Operations

Important  The Native 802.11 Wireless LAN interface is deprecated in Windows 10 and later. Please use the WLAN Device Driver Interface (WDI) instead. For more information about WDI, see WLAN Universal Windows driver model.

 

When the MiniportSendNetBufferLists function is called, the NetBufferLists parameter is a pointer to a list of NET_BUFFER_LIST structures. Each NET_BUFFER_LIST structure contains a NET_BUFFER structure that contains the 802.11 packet data.

Each 802.11 packet referenced by a NET_BUFFER_LIST structure is one of the following packet types:

  • Media access control (MAC) service data unit (MSDU) packet.

  • MAC management protocol data unit (MMPDU) packet.

When sending the 802.11 packet specified through the NET_BUFFER_LIST structure, the 802.11 station must follow the procedures defined in the IEEE 802.11-2012 standard. The miniport driver and 802.11 station must also follow these guidelines:

  • The miniport driver must first access the media-specific parameters within the out-of-band (OOB) data of the NET_BUFFER_LIST structure. The driver accesses this OOB data through a pointer to a DOT11_EXTSTA_SEND_CONTEXT structure. For more information about the OOB data, see Media-Specific OOB Data for Native 802.11 Send Operations.

  • If the length of the 802.11 packet does not exceed the value of the IEEE 802.11 dot11FragmentationThreshold management information block (MIB) object, the 802.11 packet consists of a single MAC protocol data unit (MPDU) frame and does not require fragmentation.

    If the length of the 802.11 packet does exceed the value of the dot11FragmentationThreshold MIB object, the 802.11 station must fragment the 802.11 packet into multiple MPDU frames. Each MPDU frame must contain a copy of the 802.11 MAC header, which is accessed through the NET_BUFFER structure of the 802.11 packet.

    For more information about the dot11FragmentationThreshold MIB object, see OID_DOT11_FRAGMENTATION_THRESHOLD.

  • The 802.11 station must set the fields within the 802.11 MAC header that the station is responsible for. The 802.11 station must do this for each MPDU frame of the 802.11 packet. For more information about the 802.11 MAC header, see 802.11 MAC Header Management.

  • If the 802.11 station supports wireless Quality of Service (QoS) extensions not supported by the operating system, the station must add the appropriate QoS Control field to the MAC header. For more information about this, see Extending Packet Data During Send Operations.

  • If the 802.11 station supports IEEE 802.1p packet prioritization or 802.1Q virtual LAN (VLAN), the station must add the 802.1Q/p tag header after the 802.11 MAC and IEEE LLC/SNAP headers. The miniport driver returns its support for 802.1Q/p when queried by OID_GEN_MAC_OPTIONS.

    The miniport driver accesses the data used for the 802.1Q/p tag header through the NDIS_NET_BUFFER_LIST_8021Q_INFO structure, which is referenced within a NET_BUFFER_LIST structure by calling the NET_BUFFER_LIST_INFO macro with the Ieee8021QNetBufferListInfo identifier.

    For more information about the 802.1Q/p tag header, refer to Clause 9 of the IEEE 802.1Q-1998 standard.

  • If the 802.11 station is enabled for cipher operations, it must encrypt every MPDU frame of the 802.11 packet unless the usExemptionActionType member of the DOT11_EXTSTA_SEND_CONTEXT structure exempts the packet from encryption.

    When encrypting the MPDU payload, the 802.11 station must follow the guidelines defined in Extensible Station Cipher Operations.