From e6269c12f294f71c9e6a31c153a12cf26124c235 Mon Sep 17 00:00:00 2001 From: Jesse Gross Date: Tue, 7 Jun 2011 17:11:02 -0700 Subject: [PATCH] datapath: Drop set_skb_csum_bits(). 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 occurrences have now been removed. Therefore, we can also remove the workarounds to deal with these bugs. Signed-off-by: Jesse Gross Acked-by: Ben Pfaff --- datapath/checksum.h | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/datapath/checksum.h b/datapath/checksum.h index ad5cd01ba..abd461505 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) { -- 2.43.0