I'm not sure what the usual workaround for this type of issue is, but
I can think of a couple of options:-

- Modify datapath/linux/compat/include/net/sctp/checksum.h to change
the kernel version check.
- Alternatively, delete the file, so the kernel version of the header
is used instead.

On 3 January 2014 14:11, Ashok Byahatti <ashok.byaha...@embrane.com> wrote:
> I see - it is being backported by kernel and also defined again by OVS. What 
> do you recommend to fix this issue in case of my kernel version 
> 3.10.0-54.0.1.el7.x86_64 on Red hat beta 7 where the function
> Is backported.
>
> Thanks,
> Ashok
>
> -----Original Message-----
> From: Joe Stringer [mailto:joestrin...@nicira.com]
> Sent: Friday, January 03, 2014 1:04 PM
> To: Ashok Byahatti
> Cc: Jesse Gross; b...@openvswitch.org
> Subject: Re: [ovs-discuss] Error - build kernel module 
> (openvswitch-2.0.0.tar.gz) on RHEL 7 Beta
>
> It looks like this function was backported to your kernel version, which is 
> why you see the conflict. The OVS compatibility header checks for linux 3.12, 
> and defines the function if you're running any earlier version.
>
> On 3 January 2014 11:42, Ashok Byahatti <ashok.byaha...@embrane.com> wrote:
>> Hi Jesse,
>>
>> I tried to build the kernel rpm using the master version(and generating tar 
>> openvswitch-2.1.90.tar.gz).
>> But I still get one error -
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:8:22:
>>  error: redefinition of 'sctp_compute_cksum'
>>  static inline __le32 sctp_compute_cksum(const struct sk_buff *skb.
>>
>> I am pasting the snippet of the log below -
>>
>> ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/flex_array.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/flow_dissector.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/gre.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/gso.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/genetlink-openvswitch.c
>> ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/hash.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/hash-x86.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/ip_tunnels_core.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/netdevice.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/net_namespace.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/reciprocal_div.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/skbuff-openvswitch.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/vxlan.c ln -s
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/../
>> linux/compat/utils.c /usr/bin/make -C
>> /usr/src/kernels/3.10.0-54.0.1.el7.x86_64
>> M=/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux
>> modules
>> make[1]: Entering directory `/usr/src/kernels/3.10.0-54.0.1.el7.x86_64'
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/datapath.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/dp_notify.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_netlink.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_table.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-gre.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-internal_dev.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-lisp.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-netdev.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/vport-vxlan.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/dev-openvswitch.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/exthdrs_core.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flex_array.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/flow_dissector.o
>>   CC [M]  
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/gre.o
>>   CC [M]
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/gso.o
>> In file included from 
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.c:35:0:
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:8:22:
>>  error: redefinition of 'sctp_compute_cksum'
>>  static inline __le32 sctp_compute_cksum(const struct sk_buff *skb,
>>                       ^
>> In file included from 
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/../datapath/linux/compat/include/net/sctp/checksum.h:5:0,
>>                  from 
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actions.c:35:
>> include/net/sctp/checksum.h:89:22: note: previous definition of
>> 'sctp_compute_cksum' was here  static inline __le32 sctp_compute_cksum(const 
>> struct sk_buff *skb,
>>                       ^
>>   CC [M]
>> /root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/genetl
>> ink-openvswitch.o
>> make[2]: ***
>> [/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux/actio
>> ns.o] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> make[1]: ***
>> [_module_/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/lin
>> ux] Error 2
>> make[1]: Leaving directory `/usr/src/kernels/3.10.0-54.0.1.el7.x86_64'
>> make: *** [default] Error 2
>> make: Leaving directory 
>> `/root/rpmbuild/BUILD/openvswitch-2.1.90/_default/datapath/linux'
>> error: Bad exit status from /var/tmp/rpm-tmp.E3vySV (%build)
>>
>> Thanks,
>> Ashok
>>
>> -----Original Message-----
>> From: Jesse Gross [mailto:je...@nicira.com]
>> Sent: Thursday, January 02, 2014 10:43 AM
>> To: Ashok Byahatti
>> Cc: b...@openvswitch.org
>> Subject: Re: [ovs-discuss] Error - build kernel module
>> (openvswitch-2.0.0.tar.gz) on RHEL 7 Beta
>>
>> On Mon, Dec 30, 2013 at 1:46 PM, Ashok Byahatti <ashok.byaha...@embrane.com> 
>> wrote:
>>> I was trying to build the Open vSwitch kernel module(using
>>> openvswitch-2.0.0.tar.gz) on RHEL 7 Beta .
>>>
>>> My kernel version is 3.10.0-54.0.1.el7.x86_64 .
>>
>> I would recommend using master or the version of the OVS kernel module 
>> packaged with the distribution. I am not really eager to backport the 
>> necessary changes to OVS 2.0, particularly for a beta release.
>> _______________________________________________
>> discuss mailing list
>> discuss@openvswitch.org
>> http://openvswitch.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to