patch-2.4.0-test9 linux/drivers/net/sk98lin/h/skcsum.h

Next file: linux/drivers/net/sk98lin/h/skdebug.h
Previous file: linux/drivers/net/sk98lin/h/skaddr.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test8/linux/drivers/net/sk98lin/h/skcsum.h linux/drivers/net/sk98lin/h/skcsum.h
@@ -1,9 +1,9 @@
 /******************************************************************************
  *
  * Name:	skcsum.h
- * Project:	GEnesis, PCI Gigabit Ethernet Adapter
- * Version:	$Revision: 1.2 $
- * Date:	$Date: 1998/09/04 12:16:34 $
+ * Project:	GEnesis - SysKonnect SK-NET Gigabit Ethernet (SK-98xx)
+ * Version:	$Revision: 1.7 $
+ * Date:	$Date: 2000/06/29 13:17:05 $
  * Purpose:	Store/verify Internet checksum in send/receive packets.
  *
  ******************************************************************************/
@@ -27,6 +27,25 @@
  * History:
  *
  *	$Log: skcsum.h,v $
+ *	Revision 1.7  2000/06/29 13:17:05  rassmann
+ *	Corrected reception of a packet with UDP checksum == 0 (which means there
+ *	is no UDP checksum).
+ *	
+ *	Revision 1.6  2000/02/28 12:33:44  cgoos
+ *	Changed C++ style comments to C style.
+ *	
+ *	Revision 1.5  2000/02/21 12:10:05  cgoos
+ *	Fixed license comment.
+ *	
+ *	Revision 1.4  2000/02/21 11:08:37  cgoos
+ *	Merged changes back into common source.
+ *	
+ *	Revision 1.1  1999/07/26 14:47:49  mkarl
+ *	changed from common source to windows specific source
+ *	added return SKCS_STATUS_IP_CSUM_ERROR_UDP and
+ *	SKCS_STATUS_IP_CSUM_ERROR_TCP to pass the NidsTester
+ *	changes for Tx csum offload
+ *	
  *	Revision 1.2  1998/09/04 12:16:34  mhaveman
  *	Checked in for Stephan to allow compilation.
  *	-Added definition SK_CSUM_EVENT_CLEAR_PROTO_STATS to clear statistic
@@ -98,24 +117,32 @@
  *
  *	SKCS_STATUS_UNKNOWN_IP_VERSION - Not an IP v4 frame.
  *	SKCS_STATUS_IP_CSUM_ERROR - IP checksum error.
+ *	SKCS_STATUS_IP_CSUM_ERROR_TCP - IP checksum error in TCP frame.
+ *	SKCS_STATUS_IP_CSUM_ERROR_UDP - IP checksum error in UDP frame
  *	SKCS_STATUS_IP_FRAGMENT - IP fragment (IP checksum ok).
  *	SKCS_STATUS_IP_CSUM_OK - IP checksum ok (not a TCP or UDP frame).
  *	SKCS_STATUS_TCP_CSUM_ERROR - TCP checksum error (IP checksum ok).
  *	SKCS_STATUS_UDP_CSUM_ERROR - UDP checksum error (IP checksum ok).
  *	SKCS_STATUS_TCP_CSUM_OK - IP and TCP checksum ok.
  *	SKCS_STATUS_UDP_CSUM_OK - IP and UDP checksum ok.
+ *	SKCS_STATUS_IP_CSUM_OK_NO_UDP - IP checksum OK and no UDP checksum. 
  */
 #ifndef SKCS_OVERWRITE_STATUS	/* User overwrite? */
 #define SKCS_STATUS	int	/* Define status type. */
 
 #define SKCS_STATUS_UNKNOWN_IP_VERSION	1
-#define SKCS_STATUS_IP_CSUM_ERROR	2
-#define SKCS_STATUS_IP_FRAGMENT		3
-#define SKCS_STATUS_IP_CSUM_OK		4
-#define SKCS_STATUS_TCP_CSUM_ERROR	5
-#define SKCS_STATUS_UDP_CSUM_ERROR	6
-#define SKCS_STATUS_TCP_CSUM_OK		7
-#define SKCS_STATUS_UDP_CSUM_OK		8
+#define SKCS_STATUS_IP_CSUM_ERROR		2
+#define SKCS_STATUS_IP_FRAGMENT			3
+#define SKCS_STATUS_IP_CSUM_OK			4
+#define SKCS_STATUS_TCP_CSUM_ERROR		5
+#define SKCS_STATUS_UDP_CSUM_ERROR		6
+#define SKCS_STATUS_TCP_CSUM_OK			7
+#define SKCS_STATUS_UDP_CSUM_OK			8
+/* needed for Microsoft */
+#define SKCS_STATUS_IP_CSUM_ERROR_UDP	9
+#define SKCS_STATUS_IP_CSUM_ERROR_TCP	10
+/* UDP checksum may be omitted */
+#define SKCS_STATUS_IP_CSUM_OK_NO_UDP	11
 #endif	/* !SKCS_OVERWRITE_STATUS */
 
 /* Clear protocol statistics event. */
@@ -158,7 +185,7 @@
 	SK_U64 RxUnableCts;	/* Unable to verify receive checksum. */
 	SK_U64 RxErrCts;	/* Receive checksum error. */
 	SK_U64 TxOkCts;		/* Transmit checksum ok. */
-	SK_U64 TxUnableCts;	/* Unable to verify transmit checksum. */
+	SK_U64 TxUnableCts;	/* Unable to calculate checksum in hw. */
 } SKCS_PROTO_STATS;
 
 /*
@@ -167,6 +194,9 @@
 typedef struct s_Csum {
 	/* Enabled receive SK_PROTO_XXX bit flags. */
 	unsigned ReceiveFlags;
+#ifdef TX_CSUM
+	unsigned TransmitFlags;
+#endif /* TX_CSUM */
 
 	/* The protocol statistics structure; one per supported protocol. */
 	SKCS_PROTO_STATS ProtoStats[SKCS_NUM_PROTOCOLS];

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)