aboutsummaryrefslogtreecommitdiff
path: root/tap-win32/dhcp.c
diff options
context:
space:
mode:
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2009-06-22 20:48:35 +0000
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>2009-06-22 20:48:35 +0000
commit7ea8261049d8897b46e26f62dec3f6768e0b3f9a (patch)
tree763d0b19f9a1f695b5591b6b4633121a0d30457c /tap-win32/dhcp.c
parentRename generated tapdrvr.cod to a unique name to avoid the issue where (diff)
downloadopenvpn-7ea8261049d8897b46e26f62dec3f6768e0b3f9a.tar.xz
In Windows TAP driver, refactor DHCP/ARP packet injection code to
use a DPC (deferred procedure call) to defer packet injection until IRQL < DISPATCH_LEVEL, rather than calling NdisMEthIndicateReceive in the context of AdapterTransmit. This is an attempt to reduce kernel stack usage, and prevent EXCEPTION_DOUBLE_FAULT BSODs that have been observed on Vista. Updated TAP driver version number to 9.6. git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@4606 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'tap-win32/dhcp.c')
-rwxr-xr-xtap-win32/dhcp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tap-win32/dhcp.c b/tap-win32/dhcp.c
index 47e2995..b6b28bb 100755
--- a/tap-win32/dhcp.c
+++ b/tap-win32/dhcp.c
@@ -379,9 +379,9 @@ SendDHCPMsg (const TapAdapterPointer a,
DHCPMSG_LEN_FULL (pkt));
// Return DHCP response to kernel
- InjectPacket (a,
- DHCPMSG_BUF (pkt),
- DHCPMSG_LEN_FULL (pkt));
+ InjectPacketDeferred (a,
+ DHCPMSG_BUF (pkt),
+ DHCPMSG_LEN_FULL (pkt));
}
else
{