NDIS Intermediate driver - Setting packet filter - Receive handler not getting called

Hello All,
I am developing an intermediate for the purpose of adding the failover functionality in the network. My initial task is to open two physical NICs and capture the packets in the Protocol driver’s receive handler. I am facing an issue where after setting the packet filter, NDIS is not calling the receive handler function where I get the packets received by the NIC. In wireshark, I see some arp packets are received by the NIC. There is one workaround I found If I disable and re-enable the adapters NDIS is calling the receive handler.

Note:- I am not initializing any mini ports here.

I would like to know why is it so,

Steps:-

  1. Opened the adapter
  2. Set the packet filter with the value 0x0F which includes (unicast, multicast, broadcast)

This question came up recently. Check through the things discussed here: https://community.osr.com/discussion/291421/ndis-protocol-driver-not-getting-protocolreceivenetbufferlists-function-called