repository: C:/dev/kvm-guest-drivers-windows
branch: master
commit 43bc20276c98dc155ed3cfc0ba0c716ae8a8e574
Author: Yan Vugenfirer <[email protected]>
Date: Sun Nov 15 18:30:05 2009 +0200
[WIN-GUEST_DRIVERS] Add IP checksum related missing code from the NDIS 5
driver.
Already was implemented in NDIS 6 driver.
Signed-off-by: Yan Vugenfirer <[email protected]>
diff --git a/NetKVM/wxp/ParaNdis5-Impl.c b/NetKVM/wxp/ParaNdis5-Impl.c
index 9abbb98..0808811 100644
--- a/NetKVM/wxp/ParaNdis5-Impl.c
+++ b/NetKVM/wxp/ParaNdis5-Impl.c
@@ -86,6 +86,13 @@ NDIS_HANDLE ParaNdis_OpenNICConfiguration(PARANDIS_ADAPTER
*pContext)
return cfg;
}
+void ParaNdis_RestoreDeviceConfigurationAfterReset(
+ PARANDIS_ADAPTER *pContext)
+{
+
+}
+
+
/**********************************************************
Indicates connect/disconnect events
Parameters:
@@ -724,12 +731,14 @@ tMapperResult ParaNdis_PacketMapper(
tTcpIpPacketParsingResult packetReview;
ULONG dummyTransferSize = 0;
ULONG saveBuffers = res.nBuffersMapped;
+ ULONG flags = pcrIpChecksum | pcrTcpChecksum |
pcrFixPHChecksum;
PVOID pIpHeader = RtlOffsetToPointer(pBuffer,
pContext->Offload.ipHeaderOffset);
res.nBuffersMapped = 0;
+ if (pContext->bFixIPChecksum) flags |=
pcrFixIPChecksum;
packetReview = ParaNdis_CheckSumVerify(
pIpHeader,
lengthGet -
pContext->Offload.ipHeaderOffset,
- pcrIpChecksum | pcrTcpChecksum |
pcrFixIPChecksum | pcrFixPHChecksum,
+ flags,
__FUNCTION__);
/* uncomment to verify */
/*
diff --git a/NetKVM/wxp/netkvm.inf b/NetKVM/wxp/netkvm.inf
index 5b0d13f..7bdd8fe 100644
--- a/NetKVM/wxp/netkvm.inf
+++ b/NetKVM/wxp/netkvm.inf
@@ -149,6 +149,11 @@ HKR, Ndi\Params\IPPacketsCheck, type,
0, "enum"
HKR, Ndi\Params\IPPacketsCheck\enum,"1", 0,
%Enable%
HKR, Ndi\Params\IPPacketsCheck\enum,"0", 0,
%Disable%
+HKR, Ndi\Params\IPChecksumFix, ParamDesc, 0,
%IPChecksumFix%
+HKR, Ndi\Params\IPChecksumFix, Default, 0,
"1"
+HKR, Ndi\Params\IPChecksumFix, type, 0,
"enum"
+HKR, Ndi\Params\IPChecksumFix\enum, "1", 0,
%Enable%
+HKR, Ndi\Params\IPChecksumFix\enum, "0", 0,
%Disable%
HKR, Ndi\params\DebugLevel, ParamDesc, 0,
%DebugLevel%
HKR, Ndi\params\DebugLevel, type, 0, "int"
@@ -263,6 +268,7 @@ Offload.TxTCP = "Offload Tx TCP checksum"
OffLoad.TxUDP = "Offload Tx UDP checksum"
Offload.TxLSO = "Offload Tx LSO"
HwOffload = "Hardware checksumming"
+IPChecksumFix = "Fix IP checksum on LSO"
IPPacketsCheck = "Analyze IP packets"
PriorityVlanTag = "Priority and VLAN tagging"
PriorityOnly = "Priority"
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html