Hi,
We are using two wfp drivers but sometimes we are seeing conflict between the callouts of the drivers. So I have few questions regarding wfp framework.
can we have more than one wfp driver in a single system?
if we have same callouts in two drivers, so does it conflict when we receive same packet on both side and while reinjection also at the same time.
Yes, sure. See "Filter Arbitration".
The packet will be re-injected serially and you have to check for FWPS_PACKET_INJECTED_BY_SELF and FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF via FwpsQueryPacketInjectionState().
Just a correction in last post.
I have two drivers, and only 1 driver do the reinjection.
I am using FwpsQueryPacketInjectionState() in my driver which do reinjection but still while re-injecting the packet into tcp data stream, getting bsod for firefox packet. If I disable stream callout from any one of the driver, it works fine without any bsod.
What could be the reason?