summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2015-10-09 13:21:30 -0700
committerPravin B Shelar <pshelar@nicira.com>2015-10-09 14:23:21 -0700
commitccb75a285bab733ec7b08da366aab438a884bf97 (patch)
tree015aeca2ec67fae0bfbf805a38b299076b58e8ff
parentf0dc83b762bd2645aef975ab01e33b8d69c68840 (diff)
downloadopenvswitch-ccb75a285bab733ec7b08da366aab438a884bf97.tar.gz
datapath: Fix compilation on kernel 2.6.32
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 <joestringer@nicira.com> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Joe Stringer <joestringer@nicira.com>
-rw-r--r--acinclude.m41
-rw-r--r--datapath/linux/compat/include/linux/skbuff.h7
2 files changed, 8 insertions, 0 deletions
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,