From 82fb0e704c959dbb14849a10eff5c9ca3aa57bb3 Mon Sep 17 00:00:00 2001 From: basil00 Date: Sat, 25 Jul 2015 12:40:03 +0800 Subject: [PATCH] Update documentation. Add notes about zero-checksums and known issues. --- doc/windivert.html | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/doc/windivert.html b/doc/windivert.html index 4a9320e..640bef6 100644 --- a/doc/windivert.html +++ b/doc/windivert.html @@ -610,6 +610,16 @@ The amount of time a packet is queued can be controlled with the WinDivertSetParam() function.

+WinDivert sometimes captures outbound or loopback packets before the +IP/TCP/UDP checksum fields have been calculated. +For outbound packets, this occurs when checksum offloading is enabled, +which defers checksum calculation to a compatible NIC card. +If the checksum is absent the corresponding +checksum field will be set to zero. +Correct checksums can be reconstructed using the +WinDivertHelperCalcChecksums() +function. +

WinDivertRecv() should not be used on any WinDivert handle created with the WINDIVERT_FLAG_DROP set.

@@ -1587,14 +1597,38 @@ There are some limitations to the WinDivert package. They are