patch-2.4.0-test12 linux/include/net/checksum.h
Next file: linux/include/net/icmp.h
Previous file: linux/include/linux/wanrouter.h
Back to the patch index
Back to the overall index
- Lines: 33
- Date:
Mon Dec 11 16:27:30 2000
- Orig file:
v2.4.0-test11/linux/include/net/checksum.h
- Orig date:
Sun Oct 8 10:50:37 2000
diff -u --recursive --new-file v2.4.0-test11/linux/include/net/checksum.h linux/include/net/checksum.h
@@ -124,10 +124,31 @@
}
#endif
-static inline unsigned int csum_chain(unsigned int csum, unsigned int addend)
+static inline unsigned int csum_add(unsigned int csum, unsigned int addend)
{
csum += addend;
return csum + (csum < addend);
+}
+
+static inline unsigned int csum_sub(unsigned int csum, unsigned int addend)
+{
+ return csum_add(csum, ~addend);
+}
+
+static inline unsigned int
+csum_block_add(unsigned int csum, unsigned int csum2, int offset)
+{
+ if (offset&1)
+ csum2 = ((csum2&0xFF00FF)<<8)+((csum2>>8)&0xFF00FF);
+ return csum_add(csum, csum2);
+}
+
+static inline unsigned int
+csum_block_sub(unsigned int csum, unsigned int csum2, int offset)
+{
+ if (offset&1)
+ csum2 = ((csum2&0xFF00FF)<<8)+((csum2>>8)&0xFF00FF);
+ return csum_sub(csum, csum2);
}
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)