Skip to main content

NdisOidRequest Error in setting the packet filter to the physical adapter RRS feed

  • Question

  • This is regarding an issue which I am facing in the intermediate driver development using NDIS WDK framework.

    I am using the intermediate driver sample from the windows driver samples provided in the github repository. I have not done any changes to the sample intermediate driver. I built the driver and after the installation, the miniports are not set with the packet filter which the TCP/IP protocol is trying to set. As a result, protocol driver of the intermediate driver is not receiving any data in the receive handler. NdisOidRequest is getting called and the miniport in return after sometime calling the protocol's RequestComplete function with the success status but the protocol driver not receiving any data.

    I checked in the ndiskd extension with the command !ndiskd.mopen for the specific open adapter. It is not showing any filters in the receive path. I don't understand what is the real issue as the RequestComplete function is not returning any error codes. Whenever I call the NdisOidRequest for the OID - "OID_GEN_CURRENT_PACKET_FILTER". 

    One strange behavior I observed is after the installation of the virtual miniports and all the bindings establishment. If I disable the physical adapter and enable it again, protocol driver starts to receive data. This also doesn't happen at the first try. Sometimes, I may have to try couple of times to resolve this issue.

    If the NdisOidRequest is failing with the error code, I can find a way to fix. but this function is always returning success status of the requested oid to the protocol driver.

    I don't know what is happening in the physical adapter's miniport driver. Could anyone please help me in resolving this issue.

    I would like to know why it is happening. Let me know If any more inputs are required.

    Deployment environment:- Windows 10 VM running in Hyper -V


    Friday, September 6, 2019 9:14 AM