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

Reply via email to