crash with filter.layerKey = FWPM_LAYER_EGRESS_VSWITCH_TRANSPORT_V4

do you think this is a MS bug ?

source code at https://github.com/apmattil/WFPStarterKit/tree/switch

hyper-v external switch with fwp extension enabled.
win11 guest.

2: kd> !analyze -v


  •                                                                         *
    
  •                    Bugcheck Analysis                                    *
    
  •                                                                         *
    

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 0000000000000000, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000000, value 0 = read operation, 1 = write operation
Arg4: fffff80123f3c05e, address which referenced memory

Debugging Details:

KEY_VALUES_STRING: 1

Key  : Analysis.CPU.mSec
Value: 7343

Key  : Analysis.DebugAnalysisManager
Value: Create

Key  : Analysis.Elapsed.mSec
Value: 60651

Key  : Analysis.Init.CPU.mSec
Value: 79515

Key  : Analysis.Init.Elapsed.mSec
Value: 6276495

Key  : Analysis.Memory.CommitPeak.Mb
Value: 94

Key  : WER.OS.Branch
Value: vb_release

Key  : WER.OS.Timestamp
Value: 2019-12-06T14:06:00Z

Key  : WER.OS.Version
Value: 10.0.19041.1

BUGCHECK_CODE: d1

BUGCHECK_P1: 0

BUGCHECK_P2: 2

BUGCHECK_P3: 0

BUGCHECK_P4: fffff80123f3c05e

READ_ADDRESS: 0000000000000000

PROCESS_NAME: System

TRAP_FRAME: ffffe7889b23e1c0 – (.trap 0xffffe7889b23e1c0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=0000000000000000 rbx=0000000000000000 rcx=0000000000000000
rdx=0000000000000001 rsi=0000000000000000 rdi=0000000000000000
rip=fffff80123f3c05e rsp=ffffe7889b23e350 rbp=ffffe7889b23e428
r8=0000000000000000 r9=0000000000000002 r10=fffff80123c07360
r11=ffffe7889b23e2a0 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei ng nz na po nc
tcpip!IppParseTransProtocolAndPorts+0xb6:
fffff80123f3c05e 0fb708 movzx ecx,word ptr [rax] ds:0000000000000000=???
Resetting default scope

STACK_TEXT:
ffffe7889b23d8c8 fffff80121713032 : ffffe7889b23da30 fffff8012157d480 0000000000000000 0000000000000000 : nt!DbgBreakPointWithStatus
ffffe7889b23d8d0 fffff80121712616 : 0000000000000003 ffffe7889b23da30 fffff8012160ccc0 00000000000000d1 : nt!KiBugCheckDebugBreak+0x12
ffffe7889b23d930 fffff801215f7ed7 : ffffc7029b2d27c0 fffff80123d88a01 ffffc7029d3c07c0 fffff80100000328 : nt!KeBugCheck2+0x946
ffffe7889b23e040 fffff80121609d69 : 000000000000000a 0000000000000000 0000000000000002 0000000000000000 : nt!KeBugCheckEx+0x107
ffffe7889b23e080 fffff80121606069 : ffffc7029b4c57d0 0000000000000000 ffffe7889b23e400 ffffe7889b23e208 : nt!KiBugCheckDispatch+0x69
ffffe7889b23e1c0 fffff80123f3c05e : ffffc7029d3c07c0 ffffe7889b23e428 ffffe7889b23e470 fffff80124116405 : nt!KiPageFault+0x469
ffffe7889b23e350 fffff80123f3bdb3 : ffffe7889b23e490 ffffc70200000014 ffffc70200000011 ffffc7029cbe7ad0 : tcpip!IppParseTransProtocolAndPorts+0xb6
ffffe7889b23e3b0 fffff80123f6ef93 : 00000000e0000000 0000000000000000 0000000000000011 0000000000000000 : tcpip!IppInspectForwardedvSwitchPacket+0xa3
ffffe7889b23e470 fffff80123ed2a84 : ffffc7029532a000 ffffe7889b23e678 ffffc7029e6d40f0 0000000000000001 : tcpip!IppForwardLayer2Packets+0xcf
ffffe7889b23e500 fffff80123e4fb5c : fffff80124009230 ffffc7029cc983f0 ffffc7029da6d360 0000000000000000 : tcpip!IppDispatchReceivePacketHelper+0x82d84
ffffe7889b23e620 fffff80123e4cebc : ffffc7029ef32b70 ffffc7029d3c0640 0000000000000001 0000000000000000 : tcpip!IppFlcReceivePacketsCore+0x30c
ffffe7889b23e740 fffff80124198b64 : ffffc7029d3c0640 ffffe7889b23e870 0000000000000001 ffffc7029d7031b0 : tcpip!IpFlcReceivePackets+0xc
ffffe7889b23e770 fffff80124197994 : 0000000000000000 ffffe7889b23e989 0000000000000800 ffffc7029d7034b3 : wfplwfs!vSwitchFlIndicateReceiveNetBufferLists+0x38c
ffffe7889b23e8c0 fffff80124193320 : 000000000000c001 ffffe78800000002 ffffc7029ca5bb01 ffffc7029d703000 : wfplwfs!vSwitchInspectL3NetBufferLists+0x2f0
ffffe7889b23e9d0 fffff80123c07ef1 : 0000000000000000 0000000000000000 0000000000000000 ffffc70200000000 : wfplwfs!LwfvSwitchRecvNetBufferLists+0x110
ffffe7889b23ea60 fffff80123c3df58 : ffffc70297ba8b00 ffffe7889b23eb31 ffffc7029d14ed70 ffffc6a4168e0c81 : ndis!ndisCallReceiveHandler+0x61
ffffe7889b23eab0 fffff80123c04a94 : 000000000002585f 000000000000c001 ffffc7029cae71a0 0000000000000001 : ndis!ndisInvokeNextReceiveHandler+0x148
ffffe7889b23eb80 fffff8012d31c124 : ffffc7029d703308 0000000000000002 ffffe7889b23ed10 ffffc7029c778000 : ndis!NdisMIndicateReceiveNetBufferLists+0x104
ffffe7889b23ec10 fffff8012d31ac54 : ffffc7029c778000 ffffc7029d703030 0000000000000000 ffffc7029d00ff00 : vmswitch!VmsExtMpIndicatePackets+0x264
ffffe7889b23ed60 fffff80123c050af : ffffc7029c778000 0000000000000020 0000000000000000 0000000000000000 : vmswitch!VmsExtMpSendNetBufferLists+0x3e4
ffffe7889b23ef30 fffff80123c04f9e : ffffc7029d703000 ffffc7029d703030 0000000000000000 fffff80123c04f90 : ndis!ndisMSendNBLToMiniportInternal+0xff
ffffe7889b23f000 fffff80123c058e9 : 0000000000000002 fffff8012142729d ffff9c80b1efd82c ffffc7029a728180 : ndis!ndisMSendNBLToMiniport+0xe
ffffe7889b23f040 fffff80123c3e291 : 0000000000000000 ffffe7889b23f109 ffffc7029cae71a0 000000190000000c : ndis!ndisCallSendHandler+0x59
ffffe7889b23f090 fffff80123c025dd : 0000000000000000 ffffc7029cae71a0 ffffc7029c778000 0000000000000500 : ndis!ndisInvokeNextSendHandler+0x191
ffffe7889b23f160 fffff8012d311ddb : ffffc7029cf273f0 ffffc7029d703030 0000000000000000 0000000000000020 : ndis!NdisSendNetBufferLists+0x17d
ffffe7889b23f260 fffff8012d312006 : ffffc702934fc000 ffffc7029d700000 ffffc7029d703030 0000000000000001 : vmswitch!VmsExtPtRouteNetBufferLists+0x4fb
ffffe7889b23f380 fffff8012d3122ae : 0000000000000000 ffffc7029d703002 ffffc7029a728100 ffffe7889b00ff02 : vmswitch!VmsExtPtRouteNetBufferListsWithBwCap+0xde
ffffe7889b23f400 fffff8012d32bb95 : ffffc70295cd04b0 0000000000000000 ffffc7029a728101 ffffe7889b00ff02 : vmswitch!VmsVmNicPvtRndisDeviceSendPackets+0x26e
ffffe7889b23f4a0 fffff8012d32b99f : ffffc7029c0be010 0000000000000000 0000000000000000 ffffc7029a7281a0 : vmswitch!RndisDevHostHandlePacketMessages+0x17d
ffffe7889b23f560 fffff8012d32b8eb : ffffc7029a728108 0000000000000000 ffffc7029c0be010 000000000000001e : vmswitch!RndisDevHostIndicateMessages+0xab
ffffe7889b23f5c0 fffff80123bd3fa2 : 0000000000000001 0000000000000002 0000000000000000 0000050913fb8fb2 : vmswitch!VmsVmNicPvtKmclProcessingComplete+0x3b
ffffe7889b23f5f0 fffff801241c1b56 : ffffc7029c0be010 0000000000000001 ffffc7029c0be010 0000000000000001 : VmsProxy!VmsProxyEvtChannelProcessingComplete+0x42
ffffe7889b23f620 fffff801241c1692 : ffffc70295d42580 ffffc70200000001 ffffc7029c0be010 00000000ffffffff : vmbkmclr!InpFillAndProcessQueue+0x106
ffffe7889b23f680 fffff8012d27121c : ffffc7029da78538 ffffc7029da78528 ffffc7029f1adb30 ffffe7889b23fa34 : vmbkmclr!KmclpVmbusIsr+0x132
ffffe7889b23f6f0 fffff8012d271191 : 0000000000000007 0000000000000000 0000000000000000 ffffc70295d42580 : vmbusr!ChReceiveChannelInterrupt+0x3c
ffffe7889b23f720 fffff801214a181e : ffffe7889b23f860 ffffc70295d42580 ffff9c80ac7c3240 ffffe7889b23fa20 : vmbusr!ParentRingInterruptDpc+0x81
ffffe7889b23f760 fffff801214a0b04 : 0000000000000000 0000000000000000 0000000000140001 0000000000000000 : nt!KiExecuteAllDpcs+0x30e
ffffe7889b23f8d0 fffff801215fb93e : ffffffff00000000 ffff9c80ac7c0180 ffff9c80ac7cb240 ffffc7029ae1e080 : nt!KiRetireDpcList+0x1f4
ffffe7889b23fb60 0000000000000000 : ffffe7889b240000 ffffe7889b239000 0000000000000000 0000000000000000 : nt!KiIdleLoop+0x9e

SYMBOL_NAME: wfplwfs!vSwitchFlIndicateReceiveNetBufferLists+38c

MODULE_NAME: wfplwfs

IMAGE_NAME: wfplwfs.sys

STACK_COMMAND: .cxr; .ecxr ; kb

BUCKET_ID_FUNC_OFFSET: 38c

FAILURE_BUCKET_ID: AV_wfplwfs!vSwitchFlIndicateReceiveNetBufferLists

OS_VERSION: 10.0.19041.1

BUILDLAB_STR: vb_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

FAILURE_ID_HASH: {78ed2aea-295d-b641-2213-57bc8ce972e1}

Followup: MachineOwner

I forgot to mention that this happens when vm is booting, and is repeatable.
And that it callback is not called when vm is up and running and I start driver with osr-driver-loader.