On 1/31/23 10:58, Eelco Chaudron wrote: > > > On 26 Jan 2023, at 21:03, Ilya Maximets wrote: > >> On 1/24/23 14:01, Eelco Chaudron wrote: >>> The goal was to run 200 successful tc tests in a row. To do this the >>> following was run: >>> >>> for i in {1..200}; do make check-offloads || break; \ >>> echo "ALL_200_OK: $i"; done; >> >> Hi, Eelco. >> >> Thanks for all the work! The patch set is fine in general, but >> I have a few comments I'll post for individual patches. >> >> One general design thought is that I'm not 100% certain that having >> a list of test names is a good way to approach test skipping. >> Names are not constant, and you're also using undocumented variable >> $at_desc to get them. We'll have to be very careful while changing >> tests and always consult with the list before adjusting names. >> >> The number is skipped tests also doesn't seem to be very high. >> If I'm not mistaken, we're skipping 21 test in the end. Only 7 of >> which actually have some issues with offloading. The bunch of >> unstable tests below contains known flaky tests that will not >> pass 200 runs in a row even without offloading. And the loop above >> doesn't seem entirely fair to these tests, as we usually run with >> RECHECK=yes. >> >> Some other tests from the list can potentially be fixed. >> Saying that, our usual way of skipping tests by adding a macro >> call to known failing tests might be a better option. >> >> What do you think? > > I’m fine with this. How about a macro called CHECK_NO_TC_OFFLOAD()?
Doesn't sound great, but I'm not sure what a better name would be. So, should be OK. Naming is hard. :) > >>> >>> Unfortunately, a bunch of test cases showed occasional failures. >>> For now, they are excluded from the test cases and need further >>> investigation. They are: >>> >>> 802.1ad - vlan_limit >>> conntrack - DNAT load balancing >>> conntrack - DNAT load balancing with NC >>> conntrack - ICMP related >>> conntrack - ICMP related to original direction >>> conntrack - ICMP related with NAT >>> conntrack - IPv4 fragmentation with fragments specified >>> conntrack - multiple namespaces, internal ports >>> conntrack - zones from other field >>> conntrack - zones from other field, more tests >>> datapath - basic truncate action >>> datapath - multiple mpls label pop >>> datapath - truncate and output to gre tunnel >>> datapath - truncate and output to gre tunnel by simulated packets >>> >>> Some other test cases also fail due to what looks like problems >>> in the tc kernel conntrack implementation. For details see the >>> details in the system-offloads.at exclusion list definition. >>> >>> Signed-off-by: Eelco Chaudron <echau...@redhat.com> >>> Acked-by: Roi Dayan <r...@nvidia.com> >>> --- >>> tests/system-offloads.at | 43 +++++++++++++++++++++++++++++++++++++------ >>> 1 file changed, 37 insertions(+), 6 deletions(-) >>> >>> diff --git a/tests/system-offloads.at b/tests/system-offloads.at >>> index 18e542aea..edffdd73b 100644 >>> --- a/tests/system-offloads.at >>> +++ b/tests/system-offloads.at >>> @@ -60,20 +60,51 @@ m4_define([CHECK_CONNTRACK_TIMEOUT], >>> # issue. >>> m4_define([OVS_TEST_SKIP_LIST], >>> [ovs_test_skip_list=" >>> +# TC does not support moving ports to a different namespace than vswitchd's >>> +# namespace, so we need to disable this test. >>> conntrack - multiple namespaces, internal ports >>> + >>> +# When moving through different zones, it can take up to ~8 seconds before >>> +# the conntrack state gets updated causing these tests to fail. >> >> Can we fix them with OVS_WAIT_UNTIL_EQUAL ? > > I’ll take another look and see if I can fix this with OVS_WAIT_UNTIL_EQUAL(). > >>> conntrack - ct metadata, multiple zones >>> -conntrack - ICMP related >>> -conntrack - ICMP related to original direction >>> +conntrack - multiple zones, local >>> +conntrack - multi-stage pipeline, local >>> + >>> +# The kernel's tcf_ct_act() function does not seem to take care of any >>> (QinQ) >>> +# VLAN headers causing commits to fail. However, if this is solved, we >>> have to >>> +# make sure conntrack does not break the VLAN boundary, i.e., putting >>> together >>> +# two packets with different CVLAN+SVLAN values. >>> conntrack - IPv4 fragmentation + cvlan >>> -conntrack - IPv4 fragmentation with fragments specified >>> conntrack - IPv6 fragmentation + cvlan >>> + >>> +# Fragmentation handling in ct zone 9 does not seem to work correctly. >>> +# When moving this test over to the default zone all works fine. >>> conntrack - Fragmentation over vxlan >>> conntrack - IPv6 Fragmentation over vxlan >>> -conntrack - multiple zones, local >>> -conntrack - multi-stage pipeline, local >>> + >>> +# Occasionaly we fail on the 'execute ct(commit) failed (Invalid argument) >>> on >> >> * Occasionally > > Will fix all these typos :) > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev