Hi.
I need to write a WFP callout driver to forward incoming and outgoing Ethernet frames. I have most of the driver written. I can modify outgoing frames to send them to whatever MAC address I want.
My problem is with duplicating the frame data so I can modify it and reinject it. From what I’ve gathered, the only real way to do it is to clone the NET_BUFFER_LIST with FwpsAllocateCloneNetBufferList(), manually allocate my own MDL, and copy and modify the data. The problem is that I have to save the original pointers in the NET_BUFFERs to restore them before releasing the NET_BUFFER_LIST.
Is there really no easier way to do this?
Thanks.