[ovs-discuss] [openvswitch 2.14.0] system-kmod-testsuite: 29 78 130 failed / system-userspace-testsuite: 130 failed

Gregory Rose gvrose8192 at gmail.com
Fri Oct 1 15:34:16 UTC 2021



On 9/30/2021 6:05 PM, Eric Sender wrote:
> Hi Greg,
> 
> Well, I'm not sure if the errors are bad or neutral just yet. I plan to
> create RPMs with DPDK compiled in and then test it in our system. When I
> see these testing errors get flagged, there are instructions to email the
> logs to you. That's all. By the way, I was having problems using the
> v2.16.x version of OVS with our system so I reverted back to 2.14.0.
> 
> All that being said, I re-ran these tests with a version of 2.14 with dpdk
> compiled in with these flags: ./configure --with-linux=/lib/modules/`uname
> -r`/build --enable-silent-rules --with-dpdk=shared CFLAGS="-Ofast -msse4.2
> -mpopcnt". See attached.
> 

Eric,

The system traffic tests depend on certain utilities for them to run
correctly and netcat aka "nc" is not accepting an option and fails.

 From the log:
+nc: invalid option -- 'q'
+usage: nc [-46cDdFhklNnrStUuvz] [-C certfile] [-e name] [-H hash] [-I 
length]
+	  [-i interval] [-K keyfile] [-M ttl] [-m minttl] [-O length]
+	  [-o staplefile] [-P proxy_username] [-p source_port] [-R CAfile]
+	  [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit] [-w timeout]
+	  [-X proxy_protocol] [-x proxy_address[:port]] [-Z peercertfile]
+	  [destination] [port]
/usr/src/ovs-2.14.0/tests/system-traffic.at:2366: exit code was 1, 
expected 0

You may want to check your version of netcat and make sure it accepts
the '-q' option.

Hope this helps.

- Greg

> 
> 
> 
> On Thu, Sep 30, 2021 at 12:57 PM Gregory Rose <gvrose8192 at gmail.com> wrote:
> 
>>
>>
>> On 9/30/2021 10:30 AM, Eric Sender wrote:
>>> Greg, thank you for this. I ran the cherry-pick command and the code is
>> in
>>> place. Now, I am still getting the following errors (attached)
>>>
>>> Subject: [openvswitch 2.14.0] system-kmod-testsuite: 29 78 130 faile /
>>> system-userspace-testsuite: 130 failed
>>
>> Hi Eric,
>>
>> Let's not drop the list.
>>
>> A few make check errors will not generally be an issue unless those
>> make check errors are directly related to what you're trying to
>> do.  The system-userspace-testsuite is not always up to date for
>> older branches.
>>
>> If you're building packages such as RPMs you can build them without
>> the make check this way:
>>
>> make rpm-fedora RPMBUILD_OPT="--without check"
>>
>> - Greg
>>
>>>
>>> On Thu, Sep 30, 2021 at 9:25 AM Gregory Rose <gvrose8192 at gmail.com>
>> wrote:
>>>
>>>>
>>>>
>>>> On 9/29/2021 6:36 PM, Eric Sender wrote:
>>>>> Hello,
>>>>>
>>>>> I think my issue is two fold:
>>>>>
>>>>>       1. In order to get OVS to compile, I needed to make a few changes
>> to
>>>> the
>>>>>       code. Namely, to change skb->l4_rxhash to skb->l4_hash?
>>>>>          - I feel I shouldn't have needed to do that in order to compile
>>>>>
>>>>>          2. Not sure if its related, but I found 4 errors which I have
>>>>>       attached.
>>>>>          - Any thoughts on those errors?
>>>>>
>>>>>
>>>>> Here is a diff of the following changes I needed to make (basically a
>>>>> ctrl-F replace of l4_rxhash to l4_hash.
>>>>>
>>>>> *diff --git a/acinclude.m4 b/acinclude.m4*
>>>>> index 84f344da0..b14fab8f3 100644
>>>>> --- a/acinclude.m4
>>>>> +++ b/acinclude.m4
>>>>> @@ -874,7 +874,7 @@ AC_DEFUN([OVS_CHECK_LINUX_COMPAT], [
>>>>>       OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_clear_hash])
>>>>>       OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h],
>> [int.skb_zerocopy(],
>>>>>                       [OVS_DEFINE([HAVE_SKB_ZEROCOPY])])
>>>>> -  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [u8.*l4_rxhash],
>>>>> +  OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [u8.*l4_hash],
>>>>>                       [OVS_DEFINE([HAVE_L4_RXHASH])])
>>>>>       OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h],
>>>> [skb_ensure_writable])
>>>>>       OVS_GREP_IFELSE([$KSRC/include/linux/skbuff.h], [skb_vlan_pop])
>>>>>
>>>>
>>>> Hi Eric,
>>>>
>>>> you're missing this commit:
>>>> f365b41f9dff ('compat: Fix build issue on RHEL 7.7.')
>>>>
>>>> It's not in branch 2.14.  You can cherry pick it from master
>>>> or you could just update to branch 2.15.
>>>>
>>>> Regards,
>>>>
>>>> - Greg
>>>>
>>>>>
>>>>> *diff --git a/datapath/datapath.c b/datapath/datapath.c*
>>>>> index 05c1e4274..0796c199c 100644
>>>>> --- a/datapath/datapath.c
>>>>> +++ b/datapath/datapath.c
>>>>> @@ -533,7 +533,7 @@ static int queue_userspace_packet(struct datapath
>>>> *dp,
>>>>> struct sk_buff *skb,
>>>>>     #endif
>>>>>
>>>>>     #ifdef HAVE_L4_RXHASH
>>>>> - if (skb->l4_rxhash)
>>>>> + if (skb->l4_hash)
>>>>>     #else
>>>>>      if (skb->l4_hash)
>>>>>     #endif
>>>>>
>>>>>
>>>>> *diff --git a/datapath/linux/compat/include/linux/skbuff.h*
>>>>> b/datapath/linux/compat/include/linux/skbuff.h
>>>>> index 6d248b3ed..328a631d8 100644
>>>>> --- a/datapath/linux/compat/include/linux/skbuff.h
>>>>> +++ b/datapath/linux/compat/include/linux/skbuff.h
>>>>> @@ -279,7 +279,7 @@ static inline void skb_clear_hash(struct sk_buff
>>>> *skb)
>>>>>      skb->rxhash = 0;
>>>>>     #endif
>>>>>     #if defined(HAVE_L4_RXHASH) && !defined(HAVE_RHEL_OVS_HOOK)
>>>>> - skb->l4_rxhash = 0;
>>>>> + skb->l4_hash = 0;
>>>>>     #endif
>>>>>     }
>>>>>     #endif
>>>>> @@ -371,7 +371,7 @@ static inline void skb_pop_mac_header(struct
>> sk_buff
>>>>> *skb)
>>>>>     #ifndef HAVE_SKB_CLEAR_HASH_IF_NOT_L4
>>>>>     static inline void skb_clear_hash_if_not_l4(struct sk_buff *skb)
>>>>>     {
>>>>> - if (!skb->l4_rxhash)
>>>>> + if (!skb->l4_hash)
>>>>>      skb_clear_hash(skb);
>>>>>     }
>>>>>     #endif
>>>>> @@ -466,7 +466,7 @@ __skb_set_hash(struct sk_buff *skb, __u32 hash,
>> bool
>>>>> is_sw, bool is_l4)
>>>>>      skb->hash = hash;
>>>>>     #endif
>>>>>     #if defined(HAVE_L4_RXHASH)
>>>>> - skb->l4_rxhash = is_l4;
>>>>> + skb->l4_hash = is_l4;
>>>>>     #else
>>>>>      skb->l4_hash = is_l4;
>>>>>     #endif
>>>>>
>>>>> Essentially, I needed to change all references to skb->l4_rxhash to
>>>>> skb->l4_hash because of the following errors during make:
>>>>>
>>>>> $ make
>>>>> ...
>>>>> /root/build/datapath/linux/datapath.c: In function
>>>> ‘queue_userspace_packet’:
>>>>> /root/build/datapath/linux/datapath.c:536:9: error: ‘struct sk_buff’
>> has
>>>> no
>>>>> member named ‘l4_rxhash’
>>>>>      if (skb->l4_rxhash)
>>>>>             ^
>>>>> ...
>>>>> make[5]: *** [/root/build/datapath/linux/datapath.o] Error 1
>>>>> make[4]: *** [_module_/root/build/datapath/linux] Error 2
>>>>> make[4]: Leaving directory
>> `/usr/src/kernels/3.10.0-1160.36.2.el7.x86_64'
>>>>> make[3]: *** [default] Error 2
>>>>> make[3]: Leaving directory `/root/build/datapath/linux'
>>>>> make[2]: *** [all-recursive] Error 1
>>>>> make[2]: Leaving directory `/root/build/datapath'
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory `/root/build'
>>>>> make: *** [all] Error 2
>>>>>
>>>>>
>>>>> Thank you,
>>>>> Eric
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> discuss mailing list
>>>>> discuss at openvswitch.org
>>>>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>>>>>
>>>>
>>>
>>
> 


More information about the discuss mailing list