On Tue, May 13, 2014 at 4:41 AM, Jesse Gross <je...@nicira.com> wrote: > On Mon, May 12, 2014 at 2:04 PM, Andrey Korolyov <and...@xdel.ru> wrote: >> On Tue, May 13, 2014 at 12:58 AM, Jesse Gross <je...@nicira.com> wrote: >>> On Sat, May 10, 2014 at 2:13 PM, Andrey Korolyov <and...@xdel.ru> wrote: >>>> Hello, >>>> >>>> sorry for bringing this old thread on top, but right now building >>>> against current RHEL 3.10.121.el7 seems not possible without >>>> patchwork. After fixing some obvious kversion checks and code >>>> snippets, I had stuck on f067987973facf28916a2f5ee48bf02ce5938bf8: >>>> >>>> In file included from >>>> /builder/rpmbuild/BUILD/openvswitch-2.1.3/_default/../datapath/linux/compat/include/net/gre.h:9:0, >>>> from >>>> /builder/rpmbuild/BUILD/openvswitch-2.1.3/_default/datapath/linux/vport-gre.c:44: >>>> include/net/gre.h: In function ‘gre_handle_offloads’: >>>> include/net/gre.h:42:2: error: implicit declaration of function >>>> ‘iptunnel_handle_offloads’ [-Werror=implicit-function-declaration] >>>> return iptunnel_handle_offloads(skb, gre_csum, SKB_GSO_GRE); >>>> ^ >>>> include/net/gre.h:42:2: warning: return makes pointer from integer >>>> without a cast [enabled by default] >>>> cc1: some warnings being treated as errors >>>> >>>> Bare look says that this snippet should be modified more intensively >>>> than by one-line patch to work well, so I thought it would be better >>>> to ask there on how to fix this properly. >>> >>> What version of OVS is this and which patch are you specifically referring >>> to? >> >> Sorry if it was unclear, I pointed hash above, it` s 2.1.2. By patch I >> meant one-liners which helps to mock kernel version checking in the >> places where conflict of backported functions can take place. I >> replaced failed checks one by one and then stuck with error above. >> Actually, both gre.h - from compat/ and from RH kernel headers >> resulting to this error if one want to try to point them explicitly. > > Can you post the changes you had to make to get to this point? I would > expect that HAVE_GRE_CISCO_REGISTER would be defined and so there > should be relatively little that is version specific. > > Have you also tried branch-2.2 or master?
There are no such thing in public repo as branch-2.2, so with master 75264fe5f1ceb73a33bcc8e1adb3ad9aad57237d I`ve got the same. Please take a look on the attached patch. Also mind that the change in datapath.c is purely a mock to pass through it to next failure and shouldn`t go anywhere :)
--- a/datapath/linux/compat/include/linux/skbuff.h 2014-05-09 19:17:44.000000000 +0400 +++ b/datapath/linux/compat/include/linux/skbuff.h 2014-05-10 23:01:37.907474192 +0400 @@ -270,7 +270,7 @@ } #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) unsigned int skb_zerocopy_headlen(const struct sk_buff *from); int skb_zerocopy(struct sk_buff *to, struct sk_buff *from, int len, int hlen); --- a/datapath/linux/compat/include/linux/hash.h 2014-05-09 19:17:44.000000000 +0400 +++ b/datapath/linux/compat/include/linux/hash.h 2014-05-10 23:07:33.818298973 +0400 @@ -4,7 +4,7 @@ #include_next <linux/hash.h> #include <linux/version.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) #include <asm/hash.h> struct fast_hash_ops { --- a/datapath/linux/compat/include/net/genetlink.h 2014-05-09 19:17:44.000000000 +0400 +++ b/datapath/linux/compat/include/net/genetlink.h 2014-05-10 23:09:20.263846971 +0400 @@ -20,7 +20,7 @@ extern void genl_notify(struct sk_buff *skb, struct net *net, u32 portid, u32 group, struct nlmsghdr *nlh, gfp_t flags); -#if LINUX_VERSION_CODE < KERNEL_VERSION(3,14,0) +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) static inline struct sk_buff *genlmsg_new_unicast(size_t payload, struct genl_info *info, gfp_t flags) --- a/datapath/datapath.c 2014-05-13 08:12:10.000000000 +0400 +++ b/datapath/datapath.c 2014-05-13 12:51:47.827741696 +0400 @@ -497,9 +497,7 @@ } nla->nla_len = nla_attr_size(skb->len); - err = skb_zerocopy(user_skb, skb, skb->len, hlen); - if (err) - goto out; + skb_zerocopy(user_skb, skb, skb->len, hlen); /* Pad OVS_PACKET_ATTR_PACKET if linear copy was performed */ if (!(dp->user_features & OVS_DP_F_UNALIGNED)) {
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss