aboutsummaryrefslogtreecommitdiff
path: root/acinclude.m4
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2009-11-18 15:19:50 -0800
committerBen Pfaff <blp@nicira.com>2009-11-18 15:19:50 -0800
commit6a33828dbcc9a4f67bd730061b931c77caad2990 (patch)
tree7ad863ae9b7169e93ccaa75f31f6ea98951b218e /acinclude.m4
parentd17ee8689bff22541dccaa792b70a848641f3646 (diff)
datapath: Check for proto_data_valid member instead of kernel version.
Commit 5ef800a69 "datapath: Copy Xen's checksumming fields when doing skb_copy" should copy proto_data_valid between sk_buffs when that field is present. However the check for CONFIG_XEN plus kernel version 2.6.18 isn't sufficient, because SLES 11 kernels are version 2.6.27 but do have this field. This commit adds a configure-time check for the presence of the member instead of attempting to guess based on the kernel version. Thanks to Ian Campbell for reporting this problem. CC: <Ian.Campbell@citrix.com>
Diffstat (limited to 'acinclude.m4')
-rw-r--r--acinclude.m47
1 files changed, 7 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 61156690..e938e6f3 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -144,6 +144,13 @@ AC_DEFUN([OVS_CHECK_LINUX26_COMPAT], [
[OVS_DEFINE([HAVE_CSUM_UNFOLD])])
OVS_GREP_IFELSE([$KSRC26/include/linux/skbuff.h], [skb_cow],
[OVS_DEFINE([HAVE_SKB_COW])])
+ # Check for the proto_data_valid member in struct sk_buff. The [^@]
+ # is necessary because some versions of this header remove the
+ # member but retain the kerneldoc comment that describes it (which
+ # starts with @). The brackets must be doubled because of m4
+ # quoting rules.
+ OVS_GREP_IFELSE([$KSRC26/include/linux/skbuff.h], [[[^@]]proto_data_valid],
+ [OVS_DEFINE([HAVE_PROTO_DATA_VALID])])
OVS_CHECK_LOG2_H
OVS_CHECK_VETH
if cmp -s datapath/linux-2.6/kcompat.h.new \