diff options
author | Ben Pfaff <blp@nicira.com> | 2009-11-18 15:19:50 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2009-11-18 15:19:50 -0800 |
commit | 6a33828dbcc9a4f67bd730061b931c77caad2990 (patch) | |
tree | 7ad863ae9b7169e93ccaa75f31f6ea98951b218e /acinclude.m4 | |
parent | d17ee8689bff22541dccaa792b70a848641f3646 (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.m4 | 7 |
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 \ |