Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

Queuing packets in NDIS IM driver receive path for optimal performance

Shashank_RamShashank_Ram Member Posts: 47
Hi, I wanted to understand what is the best way to optimize performance on the receive path of an NDIS IM Mux driver.

The NDIS IM sits between the NIC's miniport driver and TCP/IP, and processes the packets. On the receive path, since it is possible to receive multiple NBLs, how should the ProtocolReceiveXXX() callback process the receive NBL chain asynchronously? The protocol edge needs to pass over the received packets to my packet processing logic before it indicates the frames to upper layers. However, since multiple NBLs can be present in the receive path and because each packet can be processed differently, how are these supposed to be handled for best performance? Should the packets be indicated individually after being individually processed, or should they be linked back and indicated in a list together? Moreover, how can this be made asynchronous from the ProtocolReceiveXXX() function?



Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Writing WDF Drivers 25 Feb 2019 OSR Seminar Space
Developing Minifilters 8 April 2019 OSR Seminar Space