[ovs-dev] [PATCH 4/5] datapath: Drop set_skb_csum_bits().

Jesse Gross jesse at nicira.com
Wed Jun 15 18:00:08 UTC 2011


Various older kernels have had different bugs with copying checksum
state when a complete copy of a packet is made.  However, it is not
actually necessary to make these copies and all occurances have
now been removed.  Therefore, we can also remove the workarounds to
deal with these bugs.

Signed-off-by: Jesse Gross <jesse at nicira.com>
---
 datapath/checksum.h |   18 ------------------
 1 files changed, 0 insertions(+), 18 deletions(-)

diff --git a/datapath/checksum.h b/datapath/checksum.h
index ad5cd01..abd4615 100644
--- a/datapath/checksum.h
+++ b/datapath/checksum.h
@@ -60,24 +60,6 @@ static inline int vswitch_skb_checksum_setup(struct sk_buff *skb)
 }
 #endif
 
-static inline void set_skb_csum_bits(const struct sk_buff *old_skb,
-				     struct sk_buff *new_skb)
-{
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
-	/* Before 2.6.24 these fields were not copied when
-	 * doing an skb_copy_expand. */
-	new_skb->ip_summed = old_skb->ip_summed;
-	new_skb->csum = old_skb->csum;
-#endif
-#if defined(CONFIG_XEN) && defined(HAVE_PROTO_DATA_VALID)
-	/* These fields are copied in skb_clone but not in
-	 * skb_copy or related functions.  We need to manually
-	 * copy them over here. */
-	new_skb->proto_data_valid = old_skb->proto_data_valid;
-	new_skb->proto_csum_blank = old_skb->proto_csum_blank;
-#endif
-}
-
 static inline void get_skb_csum_pointers(const struct sk_buff *skb,
 					 u16 *csum_start, u16 *csum_offset)
 {
-- 
1.7.4.1




More information about the dev mailing list