From ccb75a285bab733ec7b08da366aab438a884bf97 Mon Sep 17 00:00:00 2001 From: Pravin B Shelar Date: Fri, 9 Oct 2015 13:21:30 -0700 Subject: [PATCH] datapath: Fix compilation on kernel 2.6.32 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes following compilation error: CC [M] /home/travis/build/openvswitch/ovs/datapath/linux/actions.o In file included from /home/travis/build/openvswitch/ovs/datapath/linux/actions.c:21:0: /home/travis/build/openvswitch/ovs/datapath/linux/compat/include/linux/skbuff.h: In function ‘rpl_skb_postpull_rcsum’: /home/travis/build/openvswitch/ovs/datapath/linux/compat/include/linux/skbuff.h:384:4: error: implicit declaration of function ‘skb_checksum_start_offset’ [-Werror=implicit-function-declaration] cc1: some warnings being treated as errors Reported-by: Joe Stringer Signed-off-by: Pravin B Shelar Acked-by: Joe Stringer --- acinclude.m4 | 1 + datapath/linux/compat/include/linux/skbuff.h | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index 42d1f4511..e4846d90a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -363,6 +363,7 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [ # quoting rules. OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [[[^@]]proto_data_valid], [OVS_DEFINE([HAVE_PROTO_DATA_VALID])]) + OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_checksum_start_offset]) OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [kfree_skb_list]) OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [rxhash]) OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [u16.*rxhash], diff --git a/datapath/linux/compat/include/linux/skbuff.h b/datapath/linux/compat/include/linux/skbuff.h index 23b13b831..4d81bc80a 100644 --- a/datapath/linux/compat/include/linux/skbuff.h +++ b/datapath/linux/compat/include/linux/skbuff.h @@ -373,6 +373,13 @@ void rpl_kfree_skb_list(struct sk_buff *segs); #define kfree_skb_list rpl_kfree_skb_list #endif +#ifndef HAVE_SKB_CHECKSUM_START_OFFSET +static inline int skb_checksum_start_offset(const struct sk_buff *skb) +{ + return skb->csum_start - skb_headroom(skb); +} +#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(4,3,0) #define skb_postpull_rcsum rpl_skb_postpull_rcsum static inline void skb_postpull_rcsum(struct sk_buff *skb, -- 2.20.1