[ovs-discuss] Error compiling kernel module for OVS 2.5.0

Luca Prete luca at onlab.us
Thu Apr 14 01:09:34 UTC 2016


Cool!

I'll give it a try and I'll let you know how it goes.

Thanks

Luca

> Il giorno 13 apr 2016, alle ore 17:03, Joe Stringer <joe at ovn.org> ha scritto:
> 
>> On 13 April 2016 at 13:53, Luca Prete <luca at onlab.us> wrote:
>> Hello everyone,
>> 
>> I'm trying to install the latest version of OVS (2.5.0)
>> 
>> I'm getting some errors when trying to install the kernel module, either
>> when compiling from src or when I create and then install the deb
>> (specifically in this last case the error happens when I do sudo dpkg -i
>> sudo dpkg -i openvswitch-datapath-dkms_2.5.0-1_all.deb)
>> 
>> The error I get is the following:
>> make -C /lib/modules/3.16.0-70-generic/build
>> M=/var/lib/dkms/openvswitch/2.5.0/build/datapath/linux modules
>> make[1]: Entering directory `/usr/src/linux-headers-3.16.0-70-generic'
>>  CC [M]  /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.o
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c: In function
>> ‘ovs_fragment’:
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c:730:3:
>> warning: passing argument 1 of ‘v6ops->fragment’ from incompatible pointer
>> type [enabled by default]
>>   v6ops->fragment(skb->sk, skb, ovs_vport_output);
>>   ^
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c:730:3: note:
>> expected ‘struct sk_buff *’ but argument is of type ‘struct sock *’
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c:730:3:
>> warning: passing argument 2 of ‘v6ops->fragment’ from incompatible pointer
>> type [enabled by default]
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c:730:3: note:
>> expected ‘int (*)(struct sk_buff *)’ but argument is of type ‘struct sk_buff
>> *’
>> /var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.c:730:3: error:
>> too many arguments to function ‘v6ops->fragment’
>> make[2]: ***
>> [/var/lib/dkms/openvswitch/2.5.0/build/datapath/linux/actions.o] Error 1
>> make[1]: *** [_module_/var/lib/dkms/openvswitch/2.5.0/build/datapath/linux]
>> Error 2
>> make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-70-generic'
>> make: *** [default] Error 2
>> make: Leaving directory
>> `/var/lib/dkms/openvswitch/2.5.0/build/datapath/linux'
>> 
>> I'm running the following version of Ubuntu:
>> ubuntu:~/ovs$ sudo lsb_release -a
>> No LSB modules are available.
>> Distributor ID:    Ubuntu
>> Description:    Ubuntu 14.04.4 LTS
>> Release:    14.04
>> Codename:    trusty
>> 
>> with the following kernel:
>> ubuntu:~/ovs$ sudo uname -a
>> Linux i2-mn-ubuntu 3.16.0-70-generic #90~14.04.1-Ubuntu SMP Wed Apr 6
>> 22:56:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
>> 
>> Any help would be greatly appreciated.
> 
> Hi Luca,
> 
> It looks like Ubuntu backported a custom fix into some of their newer
> kernels, leading to this build breakage in conjunction with OVS-2.5.0
> dkms. I didn't see a problem with some 3.16.0-5x versions. If it's
> viable, you can just use the openvswitch module that comes with the
> Ubuntu kernel.
> 
> Alternatively to fix it, you'll need to apply this patch to your tree
> (picking up branch-2.5 on github should also fix the issue):
> https://github.com/openvswitch/ovs/commit/a35342879f1a7d8b1503d4945bd0791c58f5fc87



More information about the discuss mailing list