[ovs-dev] [PATCH 2/2] datapath: Fix build with Centos 5.3 kernel.

Ben Pfaff blp at nicira.com
Fri Oct 9 17:22:16 UTC 2009


Pushed to "citrix", then.

Justin Pettit <jpettit at nicira.com> writes:

> Exactly my thinking.  I'd say let's put this into the "citrix" branch,
> since it's fairly low risk and it's the only branch for which we're
> building tarballs, and it's not unreasonable for people to expect it
> to work.  :-)
>
> --Justin
>
>
> On Oct 9, 2009, at 10:10 AM, Ben Pfaff wrote:
>
>> Properly it should be "master" since it doesn't matter for the
>> 5.5.0 beta.  But our release tarballs are made from "citrix", and
>> presumably we want this fix for 0.90.7.
>>
>> Your call.
>>
>> Justin Pettit <jpettit at nicira.com> writes:
>>
>>> Looks good.  Thanks for tracking this down.  Which branch were you
>>> targeting?
>>>
>>> --Justin
>>>
>>>
>>> On Oct 9, 2009, at 9:45 AM, Ben Pfaff wrote:
>>>
>>>> Centos 5.3 backports more functions from later kernel versions to
>>>> 2.6.18,
>>>> so the kernel version number is no longer a reliable way to check
>>>> for these
>>>> functions.  Thus, add a "configure" test for them.
>>>>
>>>> Reported-by: Paulo Cravero <pcravero at as2594.net>
>>>> ---
>>>> acinclude.m4                                       |    4 ++++
>>>> .../linux-2.6/compat-2.6/include/linux/skbuff.h    |    4 ++--
>>>> .../linux-2.6/compat-2.6/include/net/checksum.h    |    7 ++-----
>>>> 3 files changed, 8 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/acinclude.m4 b/acinclude.m4
>>>> index 4294920..d5d7c09 100644
>>>> --- a/acinclude.m4
>>>> +++ b/acinclude.m4
>>>> @@ -133,6 +133,10 @@ AC_DEFUN([OVS_CHECK_LINUX26_COMPAT], [
>>>>                  [OVS_DEFINE([HAVE_NLA_NUL_STRING])])
>>>>  OVS_GREP_IFELSE([$KSRC26/include/linux/err.h], [ERR_CAST],
>>>>                  [OVS_DEFINE([HAVE_ERR_CAST])])
>>>> +  OVS_GREP_IFELSE([$KSRC26/include/net/checksum.h], [csum_unfold],
>>>> +                  [OVS_DEFINE([HAVE_CSUM_UNFOLD])])
>>>> +  OVS_GREP_IFELSE([$KSRC26/include/linux/skbuff.h], [skb_cow],
>>>> +                  [OVS_DEFINE([HAVE_SKB_COW])])
>>>>  OVS_CHECK_LOG2_H
>>>>  OVS_CHECK_VETH
>>>>  if cmp -s datapath/linux-2.6/kcompat.h.new \
>>>> diff --git a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h b/
>>>> datapath/linux-2.6/compat-2.6/include/linux/skbuff.h
>>>> index 666ef85..2831721 100644
>>>> --- a/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h
>>>> +++ b/datapath/linux-2.6/compat-2.6/include/linux/skbuff.h
>>>> @@ -42,7 +42,7 @@ static inline void skb_copy_to_linear_data_offset
>>>> (struct sk_buff *skb,
>>>> #define NET_SKB_PAD	16
>>>> #endif
>>>>
>>>> -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
>>>> +#ifndef HAVE_SKB_COW
>>>> static inline int __skb_cow(struct sk_buff *skb, unsigned int
>>>> headroom,
>>>>                            int cloned)
>>>> {
>>>> @@ -63,7 +63,7 @@ static inline int skb_cow_head(struct sk_buff
>>>> *skb, unsigned int headroom)
>>>> {
>>>> 	return __skb_cow(skb, headroom, skb_header_cloned(skb));
>>>> }
>>>> -#endif  /* linux < 2.6.23 */
>>>> +#endif  /* !HAVE_SKB_COW */
>>>>
>>>>
>>>> #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
>>>> diff --git a/datapath/linux-2.6/compat-2.6/include/net/checksum.h b/
>>>> datapath/linux-2.6/compat-2.6/include/net/checksum.h
>>>> index c64c6bd..3b6debb 100644
>>>> --- a/datapath/linux-2.6/compat-2.6/include/net/checksum.h
>>>> +++ b/datapath/linux-2.6/compat-2.6/include/net/checksum.h
>>>> @@ -3,14 +3,11 @@
>>>>
>>>> #include_next <net/checksum.h>
>>>>
>>>> -#include <linux/version.h>
>>>> -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
>>>> -
>>>> +#ifndef HAVE_CSUM_UNFOLD
>>>> static inline __wsum csum_unfold(__sum16 n)
>>>> {
>>>> 	return (__force __wsum)n;
>>>> }
>>>> -
>>>> -#endif /* linux kernel < 2.6.20 */
>>>> +#endif /* !HAVE_CSUM_UNFOLD */
>>>>
>>>> #endif /* checksum.h */
>>>> --
>>>> 1.6.3.3
>>>>
>>>>
>>>> _______________________________________________
>>>> dev mailing list
>>>> dev at openvswitch.org
>>>> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org




More information about the dev mailing list