[ovs-dev] [PATCH 08/19] datapath: Compatibility code for inet_proto_csum_replace2.

Jesse Gross jesse at nicira.com
Thu Dec 9 06:14:06 UTC 2010


Kernels earlier than 2.6.25 did not define inet_proto_csum_replace2,
so implement it ourselves.

Signed-off-by: Jesse Gross <jesse at nicira.com>
---
 .../linux-2.6/compat-2.6/include/net/checksum.h    |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/datapath/linux-2.6/compat-2.6/include/net/checksum.h b/datapath/linux-2.6/compat-2.6/include/net/checksum.h
index a8c47d8..15edf19 100644
--- a/datapath/linux-2.6/compat-2.6/include/net/checksum.h
+++ b/datapath/linux-2.6/compat-2.6/include/net/checksum.h
@@ -25,6 +25,11 @@ static inline void csum_replace4(__sum16 *sum, __be32 from, __be32 to)
 
 	sum = csum_fold(csum_partial((char *)diff, sizeof(diff), ~csum_unfold(*sum)));
 }
+
+#define inet_proto_csum_replace2(__sum16 *sum, struct sk_buff *skb, \
+				 __be16 from, __be16 to, int pseudohdr) \
+	inet_proto_csum_replace4(sum, skb, (__force __be32)(from), \
+					   (__force __be32)(to), pseudohdr);
 #endif
 
 #endif /* checksum.h */
-- 
1.7.1





More information about the dev mailing list