FwpsStreamInjectAsync0 Doesn't call Completion Routine RRS feed

  • Question

  • Hallo.

    I have interesting problem here. I have mature WFP based stream filter for TCP streams filtering by OOB inspection. Everything works well 99.9% of time. But, sometimes I have accident when no completion routine is called for one injection to RECEIVE stream path. Here are several points describing the problem:

    • I can grant that FwpsStreamInjectAsync0 returns STATUS_SUCCESS
    • The call injects data, so NBL is not empty and no other flags then RECEIVE is set for injection.
    • The problem is ALWAYS with IPv6 protocol. I didn't see any uncompleted IPv4 re-injection
    • The problem is on RECEIVE path
    • The problem Occurs only very rarely. One re-injection  from thousands.
    • From my observations, it is not dependent on power states. It occurs when computer is on whole time of test.

    I can't imagine how I can push the Windows and WFP to this state by my driver operations.. I'll appreciate any advice with and I'm interesting to hear if anybody else catch the same problem.

    If anybody from MS WFP team is interested to analyze the problem, I have several FULL memory dumps with this state and I can easily give address of NBL and re-Injection context of this critical inject operation.

    • Edited by Zdenal2 Friday, October 24, 2014 2:21 PM
    Friday, October 24, 2014 2:20 PM

All replies

  • I've faced this problem too and it was not solved. I had to treat this situation and retry the operation.
    Friday, October 24, 2014 2:22 PM