From 916bfb66ddd30c11b19f526900a215369db645f5 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Jul 26 2022 05:57:13 +0000 Subject: Import openvswitch2.13-2.13.0-191 from Fast DataPath --- diff --git a/SOURCES/openvswitch-2.13.0.patch b/SOURCES/openvswitch-2.13.0.patch index 48975dd..37c4222 100644 --- a/SOURCES/openvswitch-2.13.0.patch +++ b/SOURCES/openvswitch-2.13.0.patch @@ -82342,6 +82342,33 @@ index 63246f0124..63ddd8038b 100644 } static bool +diff --git a/lib/conntrack-other.c b/lib/conntrack-other.c +index de22ef87cc..34315f2e3a 100644 +--- a/lib/conntrack-other.c ++++ b/lib/conntrack-other.c +@@ -47,18 +47,19 @@ other_conn_update(struct conntrack *ct, struct conn *conn_, + struct dp_packet *pkt OVS_UNUSED, bool reply, long long now) + { + struct conn_other *conn = conn_other_cast(conn_); +- enum ct_update_res ret = CT_UPDATE_VALID; + + if (reply && conn->state != OTHERS_BIDIR) { + conn->state = OTHERS_BIDIR; + } else if (conn->state == OTHERS_FIRST) { + conn->state = OTHERS_MULTIPLE; +- ret = CT_UPDATE_VALID_NEW; + } + + conn_update_expiration(ct, &conn->up, other_timeouts[conn->state], now); + +- return ret; ++ if (conn->state == OTHERS_BIDIR) { ++ return CT_UPDATE_VALID; ++ } ++ return CT_UPDATE_VALID_NEW; + } + + static bool diff --git a/lib/conntrack-private.h b/lib/conntrack-private.h index 9a8ca39101..cd6c4bfee9 100644 --- a/lib/conntrack-private.h @@ -87844,7 +87871,7 @@ index e246b37735..99559fde91 100644 /* Attempts to guess the content type of a stream whose first few bytes were diff --git a/lib/tc.c b/lib/tc.c -index 12af0192b6..de3fc50dbb 100644 +index 12af0192b6..a0278d12ab 100644 --- a/lib/tc.c +++ b/lib/tc.c @@ -60,12 +60,6 @@ VLOG_DEFINE_THIS_MODULE(tc); @@ -88073,7 +88100,7 @@ index 12af0192b6..de3fc50dbb 100644 { struct { struct tc_pedit sel; -@@ -2321,7 +2351,7 @@ nl_msg_put_flower_rewrite_pedits(struct ofpbuf *request, +@@ -2321,12 +2351,12 @@ nl_msg_put_flower_rewrite_pedits(struct ofpbuf *request, continue; } @@ -88082,6 +88109,13 @@ index 12af0192b6..de3fc50dbb 100644 &first_word_mask, &mask, &data); for (j = 0; j < cnt; j++, mask++, data++, cur_offset += 4) { +- ovs_be32 mask_word = *mask; +- ovs_be32 data_word = *data; ++ ovs_be32 mask_word = get_unaligned_be32(mask); ++ ovs_be32 data_word = get_unaligned_be32(data); + + if (j == 0) { + mask_word &= first_word_mask; @@ -2369,6 +2399,40 @@ nl_msg_put_flower_rewrite_pedits(struct ofpbuf *request, return 0; } @@ -95696,7 +95730,7 @@ index 0000000000..1714273e35 +OVS_TRAFFIC_VSWITCHD_STOP +AT_CLEANUP diff --git a/tests/system-traffic.at b/tests/system-traffic.at -index 4a39c929c2..f4e37470b2 100644 +index 4a39c929c2..b2ed1907e6 100644 --- a/tests/system-traffic.at +++ b/tests/system-traffic.at @@ -258,6 +258,52 @@ NS_CHECK_EXEC([at_ns0], [ping -s 3200 -q -c 3 -i 0.3 -w 2 10.1.1.100 | FORMAT_PI @@ -95818,7 +95852,7 @@ index 4a39c929c2..f4e37470b2 100644 ]) +dnl Test OVS handles TLV map modifictions properly when restores frozen state. -+NS_CHECK_EXEC([at_ns0], [ping 10.1.1.100 > /dev/null &]) ++NETNS_DAEMONIZE([at_ns0], [ping 10.1.1.100 > /dev/null], [ping0.pid]) + +AT_CHECK([ovs-ofctl add-tlv-map br0 "{class=0xffff,type=0x88,len=4}->tun_metadata1"]) +sleep 1 @@ -95942,10 +95976,22 @@ index 4a39c929c2..f4e37470b2 100644 AT_SETUP([conntrack - multiple bridges]) CHECK_CONNTRACK() OVS_TRAFFIC_VSWITCHD_START( -@@ -2331,6 +2546,35 @@ NXST_FLOW reply: - OVS_TRAFFIC_VSWITCHD_STOP - AT_CLEANUP +@@ -2328,6 +2543,44 @@ NXST_FLOW reply: + table=1, priority=100,ct_state=+est+trk,in_port=1 actions=output:2 + ]) ++dnl Send a 3rd UDP packet on port 1 ++AT_CHECK([ovs-ofctl -O OpenFlow13 packet-out br0 "in_port=1 packet=50540000000a50540000000908004500001c000000000011a4cd0a0101010a0101020001000200080000 actions=resubmit(,0)"]) ++ ++dnl There still should not be any packet that matches the established ct_state. ++AT_CHECK([ovs-ofctl dump-flows br0 "table=1 in_port=1,ct_state=+trk+est" | ofctl_strip], [0], [dnl ++NXST_FLOW reply: ++ table=1, priority=100,ct_state=+est+trk,in_port=1 actions=output:2 ++]) ++ ++OVS_TRAFFIC_VSWITCHD_STOP ++AT_CLEANUP ++ +AT_SETUP([conntrack - generic IP protocol]) +CHECK_CONNTRACK() +OVS_TRAFFIC_VSWITCHD_START() @@ -95972,13 +96018,10 @@ index 4a39c929c2..f4e37470b2 100644 +112,orig=(src=192.168.0.30,dst=224.0.0.18,sport=0,dport=0),reply=(src=224.0.0.18,dst=192.168.0.30,sport=0,dport=0) +]) + -+OVS_TRAFFIC_VSWITCHD_STOP -+AT_CLEANUP -+ - AT_SETUP([conntrack - ICMP related]) - AT_SKIP_IF([test $HAVE_NC = no]) - CHECK_CONNTRACK() -@@ -3220,6 +3464,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 + +@@ -3220,6 +3473,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 @@ -96025,7 +96068,7 @@ index 4a39c929c2..f4e37470b2 100644 AT_SETUP([conntrack - resubmit to ct multiple times]) CHECK_CONNTRACK() -@@ -3356,15 +3640,15 @@ action=normal +@@ -3356,15 +3649,15 @@ action=normal AT_CHECK([ovs-ofctl --bundle add-flows br0 flows.txt]) @@ -96044,7 +96087,7 @@ index 4a39c929c2..f4e37470b2 100644 "1616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161610a, actions=ct(table=1)"]) AT_CHECK([ovs-appctl dpctl/dump-flows | head -2 | tail -1 | grep -q -e ["]udp[(]src=5001["]]) -@@ -4379,6 +4663,52 @@ tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=,dport=),reply=(src= +@@ -4379,6 +4672,52 @@ tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=,dport=),reply=(src= OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP @@ -96097,7 +96140,7 @@ index 4a39c929c2..f4e37470b2 100644 AT_SETUP([conntrack - simple DNAT]) CHECK_CONNTRACK() CHECK_CONNTRACK_NAT() -@@ -4434,6 +4764,41 @@ tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=,dport=),reply=(src= +@@ -4434,6 +4773,41 @@ tcp,orig=(src=10.1.1.1,dst=10.1.1.2,sport=,dport=),reply=(src= OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP @@ -96139,7 +96182,7 @@ index 4a39c929c2..f4e37470b2 100644 AT_SETUP([conntrack - more complex DNAT]) CHECK_CONNTRACK() CHECK_CONNTRACK_NAT() -@@ -5628,7 +5993,7 @@ on_exit 'ovs-appctl revalidator/purge' +@@ -5628,7 +6002,7 @@ on_exit 'ovs-appctl revalidator/purge' on_exit 'ovs-appctl dpif/dump-flows br0' dnl Should work with the virtual IP address through NAT @@ -96148,7 +96191,7 @@ index 4a39c929c2..f4e37470b2 100644 echo Request $i NS_CHECK_EXEC([at_ns1], [wget 10.1.1.64 -t 5 -T 1 --retry-connrefused -v -o wget$i.log]) done -@@ -5873,6 +6238,96 @@ ovs-appctl dpif/dump-flows br0 +@@ -5873,6 +6247,96 @@ ovs-appctl dpif/dump-flows br0 OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP diff --git a/SPECS/openvswitch2.13.spec b/SPECS/openvswitch2.13.spec index 4410d4b..32b2491 100644 --- a/SPECS/openvswitch2.13.spec +++ b/SPECS/openvswitch2.13.spec @@ -59,7 +59,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.13.0 -Release: 190%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} +Release: 191%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -715,6 +715,14 @@ exit 0 %endif %changelog +* Mon Jul 25 2022 Open vSwitch CI - 2.13.0-191 +- Merging upstream branch-2.13 [RH git: 7f22841d90] + Commit list: + b6403e9d0f system-traffic: Properly stop dangling ping after geneve test. + 82910affef conntrack: Fix conntrack multiple new state. + 7048decfd2 tc: Fix misaligned access while creating pedit actions. + + * Tue Jun 28 2022 Open vSwitch CI - 2.13.0-190 - Merging upstream branch-2.13 [RH git: 611c3165f3] Commit list: