none
NDIS Wi-Fi Miniport driver with TCP/IP offload RRS feed

  • Question

  • We are developing a new generation miniport NDIS 6.3 Wi-Fi driver for a new 60GHz chip. Today we rich a datapath throughput up to 1Gbit/sec with CPU utilization 30%. To increase datapath throughput and decrease CPU utilization we need to implement TCP/IP and Large Send offloads which our chip support. In MSDN documentation I found that TCP/IP task offload in NDIS 6.3 available only for 802.3 encapsulation and does not support 802.11:

    http://msdn.microsoft.com/en-us/library/windows/hardware/ff546412(v=vs.85).aspx

    The following flags are defined for the     Encapsulation members:

    NDIS_ENCAPSULATION_NOT_SUPPORTED

    Specifies that no encapsulation offload is supported.

    NDIS_ENCAPSULATION_NULL

    Specifies NULL encapsulation.

    NDIS_ENCAPSULATION_IEEE_802_3

    Specifies IEEE 802.3 encapsulation.

    NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q

    Specifies IEEE 802.3p and IEEE 802.3q encapsulation.

    NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB

    Specifies that IEEE 802.3p and IEEE 802.3q encapsulation settings are specified in the       NetBufferListInfo member of each       NET_BUFFER_LIST structure.

    NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED

    Specifies logical link control (LLC) encapsulation for routed protocols, as described in RFC      1483. This flag is also used to indicate Ethernet LLC/SNAP encapsulation.

    On the other hand we could work with 802.3 data packets (we support offload for fast conversion 802.3 to 802.11 MAC headers). But NDIS 6.3 does not support 802.3 MediumType for Wi-Fi miniport drivers as it was for NDIS 5.1

    http://msdn.microsoft.com/en-us/library/windows/hardware/ff556024(v=vs.85).aspx

    http://msdn.microsoft.com/en-us/library/windows/hardware/ff548968(v=vs.85).aspx

    I tried to register offload in MiniportAtributes and to set MediumType to 802.3 but I still got 802.11 packets without offload (NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO and NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO structures in NBL are empty and MAC header is 802.11).

    Question: Is it possible in some way to implement today NDIS 6.3 Wi-Fi miniport driver with TCP/IP and LSO offloads?

    Friday, February 1, 2013 12:30 PM

Answers

  • This is a hard situation. Since nwifi.sys does not support TCP offloads (or does it?) you may consider some other driver type for your miniport.

    Maybe, the Mobile Broadband model, which supports pure IP data path (NdisMediumIP) can help here.

    -- pa

    • Marked as answer by Dimitrii Wednesday, February 13, 2013 12:15 PM
    Tuesday, February 5, 2013 8:09 PM

All replies

  • Does Microsoft plan to support in the nearest future such standards as 802.11ac and 802.11ad?
    Wednesday, February 6, 2013 9:43 AM
  • We can't comment on potential future features until they are announced

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, February 6, 2013 2:56 PM