[ovs-discuss] Error - build kernel module (openvswitch-2.0.0.tar.gz) on RHEL 7 Beta

Jesse Gross jesse at nicira.com
Tue May 13 20:56:20 UTC 2014


On Tue, May 13, 2014 at 1:52 PM, Andrey Korolyov <andrey at xdel.ru> wrote:
> On Wed, May 14, 2014 at 12:44 AM, Jesse Gross <jesse at nicira.com> wrote:
>> On Tue, May 13, 2014 at 1:25 PM, Andrey Korolyov <andrey at xdel.ru> wrote:
>>> On Wed, May 14, 2014 at 12:19 AM, Jesse Gross <jesse at nicira.com> wrote:
>>>> On Tue, May 13, 2014 at 1:58 AM, Andrey Korolyov <andrey at xdel.ru> wrote:
>>>>> On Tue, May 13, 2014 at 4:41 AM, Jesse Gross <jesse at nicira.com> wrote:
>>>>>> On Mon, May 12, 2014 at 2:04 PM, Andrey Korolyov <andrey at xdel.ru> wrote:
>>>>>>> On Tue, May 13, 2014 at 12:58 AM, Jesse Gross <jesse at nicira.com> wrote:
>>>>>>>> On Sat, May 10, 2014 at 2:13 PM, Andrey Korolyov <andrey at 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 :)
>>>>
>>>> OK - I see. These changes are just miscellaneous backports and not in
>>>> the tunnel code as I thought you were saying. I don't have a copy of
>>>> the RHEL 7 beta source handy but it seems like this could be a missing
>>>> definition in those headers. OVS should just be using the tunnel code
>>>> from the kernel headers and the use of iptunnel_handle_offloads()
>>>> would be from there. If they use it, they should also define it...
>>>
>>> You can use srpm for headers:
>>> http://ftp.redhat.com/redhat/rhel/rc/7/ComputeNode/source/tree/Packages/kernel-3.10.0-121.el7.src.rpm
>>
>> Since you're already working in this code, it might be faster for you
>> to take a look.
>
> Ok, will check tomorrow morning, but since RH-Oracle counterstand took
> place, there are no reliable changelog except text remarks in the spec
> file, so it`s a bit uneasy to say which bits should be presented and
> which should not...

I would just look into how and where iptunnel_handle_offloads is used
and defined. I don't think that there is really more to it than that.
OVS is using the GRE receive code wholesale in this version so there
shouldn't be any tricky dependencies.



More information about the discuss mailing list