diff --git a/SOURCES/openvswitch-2.16.0.patch b/SOURCES/openvswitch-2.16.0.patch index 11b65d6..83d99b7 100644 --- a/SOURCES/openvswitch-2.16.0.patch +++ b/SOURCES/openvswitch-2.16.0.patch @@ -3581,10 +3581,23 @@ index a426fcfeb6..aeff3b2679 100644 } } diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c -index cba49a99e1..c012cebae1 100644 +index cba49a99e1..3239defbdf 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c -@@ -6496,6 +6496,7 @@ ofproto_unixctl_dpif_show_dp_features(struct unixctl_conn *conn, +@@ -2333,6 +2333,12 @@ set_ipfix( + dpif_ipfix_unref(di); + ofproto->ipfix = NULL; + } ++ ++ /* TODO: need to consider ipfix option changes more than ++ * enable/disable */ ++ if (new_di || !ofproto->ipfix) { ++ ofproto->backer->need_revalidate = REV_RECONFIGURE; ++ } + } + + return 0; +@@ -6496,6 +6502,7 @@ ofproto_unixctl_dpif_show_dp_features(struct unixctl_conn *conn, dpif_show_support(&ofproto->backer->bt_support, &ds); unixctl_command_reply(conn, ds_cstr(&ds)); @@ -6914,11 +6927,166 @@ index 0f74709f5a..5bca84351c 100644 run should send probe in IDLE for 0 ms (1000 ms backoff) +diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at +index 19a0b125b9..8b9f5c7525 100644 +--- a/tests/system-common-macros.at ++++ b/tests/system-common-macros.at +@@ -281,6 +281,14 @@ m4_define([OVS_START_L7], + # + m4_define([OFPROTO_CLEAR_DURATION_IDLE], [[sed -e 's/duration=.*s,/duration=,/g' -e 's/idle_age=[0-9]*,/idle_age=,/g']]) + ++# OVS_CHECK_TUNNEL_TSO() ++# ++# Macro to be used in general tunneling tests that could be also ++# used by system-tso. In that case, tunneling is not supported and ++# the test should be skipped. ++m4_define([OVS_CHECK_TUNNEL_TSO], ++ [m4_ifdef([CHECK_SYSTEM_TSO], [AT_SKIP_IF(:)])]) ++ + # OVS_CHECK_VXLAN() + # + # Do basic check for vxlan functionality, skip the test if it's not there. diff --git a/tests/system-traffic.at b/tests/system-traffic.at -index f400cfabc9..092de308be 100644 +index f400cfabc9..852e2520b4 100644 --- a/tests/system-traffic.at +++ b/tests/system-traffic.at -@@ -1981,6 +1981,111 @@ tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=,dport=),reply=(src= +@@ -218,6 +218,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over vxlan tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_VXLAN() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -259,6 +260,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over vxlan6 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_VXLAN_UDP6ZEROCSUM() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -302,6 +304,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over gre tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + +@@ -343,6 +346,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over ip6gre L2 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + OVS_CHECK_ERSPAN() +@@ -383,6 +387,7 @@ AT_CLEANUP + + + AT_SETUP([datapath - ping over erspan v1 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + OVS_CHECK_ERSPAN() +@@ -419,6 +424,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over erspan v2 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + OVS_CHECK_ERSPAN() +@@ -455,6 +461,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over ip6erspan v1 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + OVS_CHECK_ERSPAN() +@@ -494,6 +501,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over ip6erspan v2 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_KERNEL_EXCL(3, 10, 4, 15) + OVS_CHECK_GRE() + OVS_CHECK_ERSPAN() +@@ -534,6 +542,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over geneve tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_GENEVE() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -575,6 +584,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over geneve tunnel, delete flow regression]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_GENEVE() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -629,6 +639,7 @@ OVS_TRAFFIC_VSWITCHD_STOP(["/|ERR|/d + AT_CLEANUP + + AT_SETUP([datapath - flow resume with geneve tun_metadata]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_GENEVE() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -680,6 +691,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over geneve6 tunnel]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_GENEVE_UDP6ZEROCSUM() + + OVS_TRAFFIC_VSWITCHD_START() +@@ -723,6 +735,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over gre tunnel by simulated packets]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_MIN_KERNEL(3, 10) + + OVS_TRAFFIC_VSWITCHD_START() +@@ -769,6 +782,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over erspan v1 tunnel by simulated packets]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_MIN_KERNEL(3, 10) + + OVS_TRAFFIC_VSWITCHD_START() +@@ -817,6 +831,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over erspan v2 tunnel by simulated packets]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_MIN_KERNEL(3, 10) + + OVS_TRAFFIC_VSWITCHD_START() +@@ -870,6 +885,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over ip6erspan v1 tunnel by simulated packets]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_MIN_KERNEL(3, 10) + + OVS_TRAFFIC_VSWITCHD_START() +@@ -925,6 +941,7 @@ OVS_TRAFFIC_VSWITCHD_STOP + AT_CLEANUP + + AT_SETUP([datapath - ping over ip6erspan v2 tunnel by simulated packets]) ++OVS_CHECK_TUNNEL_TSO() + OVS_CHECK_MIN_KERNEL(3, 10) + + OVS_TRAFFIC_VSWITCHD_START() +@@ -1981,6 +1998,111 @@ tcp,orig=(src=10.1.1.3,dst=10.1.1.4,sport=,dport=),reply=(src= OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP @@ -7030,7 +7198,7 @@ index f400cfabc9..092de308be 100644 AT_SETUP([conntrack - multiple bridges]) CHECK_CONNTRACK() OVS_TRAFFIC_VSWITCHD_START( -@@ -3305,6 +3410,46 @@ NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | FORMAT_PING +@@ -3305,6 +3427,46 @@ NS_CHECK_EXEC([at_ns0], [ping6 -s 3200 -q -c 3 -i 0.3 -w 2 fc00::2 | FORMAT_PING OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP @@ -7077,6 +7245,16 @@ index f400cfabc9..092de308be 100644 AT_SETUP([conntrack - resubmit to ct multiple times]) CHECK_CONNTRACK() +diff --git a/tests/system-tso-macros.at b/tests/system-tso-macros.at +index 406334f3e0..1a80047619 100644 +--- a/tests/system-tso-macros.at ++++ b/tests/system-tso-macros.at +@@ -29,3 +29,5 @@ m4_define([CONFIGURE_VETH_OFFLOADS], + [AT_CHECK([ethtool -K $1 sg on], [0], [ignore], [ignore])] + [AT_CHECK([ethtool -K $1 tso on], [0], [ignore], [ignore])] + ) ++ ++m4_define([CHECK_SYSTEM_TSO], []) diff --git a/tests/test-json.c b/tests/test-json.c index a7ee595e0b..072a537252 100644 --- a/tests/test-json.c diff --git a/SPECS/openvswitch2.16.spec b/SPECS/openvswitch2.16.spec index ab93ddf..5911357 100644 --- a/SPECS/openvswitch2.16.spec +++ b/SPECS/openvswitch2.16.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.16.0 -Release: 59%{?dist} +Release: 60%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -699,6 +699,13 @@ exit 0 %endif %changelog +* Sat Mar 05 2022 Open vSwitch CI - 2.16.0-60 +- Merging upstream branch-2.16 [RH git: 67312d8bee] + Commit list: + 43882d8372 ofproto-dpif: Trigger revalidation when ipfix config set. + 218bb05fb2 system-tso: Skip encap tests when userspace TSO is enabled. + + * Fri Mar 04 2022 Open vSwitch CI - 2.16.0-59 - Merging upstream branch-2.16 [RH git: 832e52bea7] Commit list: