Hi all,

I'm trying to accomplish outgoing packet split within NDIS (5) intermediate driver; the goal is to have multiple packets sent from MPSentPackets.

Can someone outline how to do it at the moment when packet is sent by protocol / miniport?

Code:
VOID
MPSendPackets(
              IN NDIS_HANDLE             MiniportAdapterContext,
              IN PPNDIS_PACKET           PacketArray,
              IN UINT                    NumberOfPackets
)
...
    for (i = 0; i < NumberOfPackets; i++)             // Go through packets.
    {
...
        if (Status != NDIS_STATUS_PENDING)
        {
            NdisMSendComplete(ADAPT_MINIPORT_HANDLE(pAdapt),
                              pPacket,
                              Status);
        }
    }
...
BTW, I already ran into writing some kludges, which all seem to be having problems (LSO doesn't allow to precisely control over each packet headers, raw sockets at userspace seem to mess the packet order, unavoidably - so want to implement the thing myself).