From: Jesse Gross Date: Wed, 8 Jun 2011 00:11:02 +0000 (-0700) Subject: datapath: Drop set_skb_csum_bits(). X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6269c12f294f71c9e6a31c153a12cf26124c235;p=openvswitch 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 --- diff --git a/datapath/checksum.h b/datapath/checksum.h index ad5cd01b..abd46150 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) {