NDIS IM acting like a protocol RRS feed

  • Question

  • Our application adds an abstraction layer to the network, and is implemented as a NDIS 5.1 IM driver. It's not a 1:1 correspondence for the packets we get from below and what we indicate above, because we have to keep our own protocol talking in addition to the encapsulation of the packets of higher-level protocols.

    When we receive a packet belonging to our protocol from the miniport below us, sometimes we ourselves must send a response. Unfortunately, calling NdisSend from within ProtocolReceive is not recommended, and indeed, it does not work with some adapter miniports.

    So, we have to queue our responses, then send them in a batch from another IM callback, that is better suited for this purpose. Someone told us that ProtocolReceiveComplete is the function where we should add our queue flushing, is that correct?

    Tuesday, February 12, 2013 4:52 AM