More tap driver cleanup, and add IOCTL to get L2 multicast ethernet address subscriptions.

This commit is contained in:
Adam Ierymenko 2014-01-20 14:33:05 -08:00
commit 3375363d93
16 changed files with 118 additions and 250 deletions

View file

@ -146,58 +146,12 @@ VOID FlushQueues
TapExtensionPointer p_Extension
);
VOID ResetTapAdapterState
(
TapAdapterPointer p_Adapter
);
BOOLEAN ProcessARP
(
TapAdapterPointer p_Adapter,
const PARP_PACKET src,
const IPADDR adapter_ip,
const IPADDR ip_network,
const IPADDR ip_netmask,
const MACADDR mac
);
VOID SetMediaStatus
(
TapAdapterPointer p_Adapter,
BOOLEAN state
);
VOID InjectPacketDeferred
(
TapAdapterPointer p_Adapter,
UCHAR *packet,
const unsigned int len
);
VOID InjectPacketNow
(
TapAdapterPointer p_Adapter,
UCHAR *packet,
const unsigned int len
);
// for KDEFERRED_ROUTINE and Static Driver Verifier
//#include <wdm.h>
//KDEFERRED_ROUTINE InjectPacketDpc;
VOID InjectPacketDpc
(
KDPC *Dpc,
PVOID DeferredContext,
PVOID SystemArgument1,
PVOID SystemArgument2
);
VOID CheckIfDhcpAndTunMode
(
TapAdapterPointer p_Adapter
);
VOID HookDispatchFunctions();
struct WIN2K_NDIS_MINIPORT_BLOCK
@ -206,17 +160,4 @@ struct WIN2K_NDIS_MINIPORT_BLOCK
UNICODE_STRING MiniportName; // how mini-port refers to us
};
#if PACKET_TRUNCATION_CHECK
VOID IPv4PacketSizeVerify
(
const UCHAR *data,
ULONG length,
BOOLEAN tun,
const char *prefix,
LONG *counter
);
#endif
#endif