Need help with explicit packet split in NDIS IM driver
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).