diff --git a/SOURCES/openvswitch-2.13.0.patch b/SOURCES/openvswitch-2.13.0.patch index 8257742..787f54f 100644 --- a/SOURCES/openvswitch-2.13.0.patch +++ b/SOURCES/openvswitch-2.13.0.patch @@ -85072,10 +85072,21 @@ index 4ecce1aac5..936fadf175 100644 struct ofpbuf *odp_actions, const char *tnl_type); diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c -index ddef3b0c87..7d729a0e2d 100644 +index ddef3b0c87..fac975ae64 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c -@@ -3773,11 +3773,22 @@ parse_SET_MPLS_LABEL(char *arg, const struct ofpact_parse_params *pp) +@@ -849,7 +849,9 @@ decode_NXAST_RAW_CONTROLLER2(const struct ext_action_header *eah, + case NXAC2PT_REASON: { + uint8_t u8; + error = ofpprop_parse_u8(&payload, &u8); +- oc->reason = u8; ++ if (!error) { ++ oc->reason = u8; ++ } + break; + } + +@@ -3773,11 +3775,22 @@ parse_SET_MPLS_LABEL(char *arg, const struct ofpact_parse_params *pp) { struct ofpact_mpls_label *mpls_label = ofpact_put_SET_MPLS_LABEL(pp->ofpacts); @@ -85099,7 +85110,7 @@ index ddef3b0c87..7d729a0e2d 100644 return NULL; } -@@ -3833,12 +3844,22 @@ static char * OVS_WARN_UNUSED_RESULT +@@ -3833,12 +3846,22 @@ static char * OVS_WARN_UNUSED_RESULT parse_SET_MPLS_TC(char *arg, const struct ofpact_parse_params *pp) { struct ofpact_mpls_tc *mpls_tc = ofpact_put_SET_MPLS_TC(pp->ofpacts); @@ -85123,7 +85134,7 @@ index ddef3b0c87..7d729a0e2d 100644 return NULL; } -@@ -3846,7 +3867,7 @@ static void +@@ -3846,7 +3869,7 @@ static void format_SET_MPLS_TC(const struct ofpact_mpls_tc *a, const struct ofpact_format_params *fp) { @@ -85132,7 +85143,7 @@ index ddef3b0c87..7d729a0e2d 100644 colors.paren, colors.end, a->tc, colors.paren, colors.end); } -@@ -3885,12 +3906,18 @@ static char * OVS_WARN_UNUSED_RESULT +@@ -3885,12 +3908,18 @@ static char * OVS_WARN_UNUSED_RESULT parse_SET_MPLS_TTL(char *arg, const struct ofpact_parse_params *pp) { struct ofpact_mpls_ttl *mpls_ttl = ofpact_put_SET_MPLS_TTL(pp->ofpacts); @@ -85152,7 +85163,7 @@ index ddef3b0c87..7d729a0e2d 100644 return NULL; } -@@ -4346,6 +4373,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, +@@ -4346,6 +4375,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, { struct ofpact_encap *encap; const struct ofp_ed_prop_header *ofp_prop; @@ -85160,7 +85171,7 @@ index ddef3b0c87..7d729a0e2d 100644 size_t props_len; uint16_t n_props = 0; int err; -@@ -4373,6 +4401,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, +@@ -4373,6 +4403,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, } n_props++; } @@ -85168,7 +85179,7 @@ index ddef3b0c87..7d729a0e2d 100644 encap->n_props = n_props; out->header = &encap->ofpact; ofpact_finish_ENCAP(out, &encap); -@@ -6657,6 +6686,7 @@ parse_CT(char *arg, const struct ofpact_parse_params *pp) +@@ -6657,6 +6688,7 @@ parse_CT(char *arg, const struct ofpact_parse_params *pp) } if (ofpbuf_oversized(pp->ofpacts)) { @@ -85232,6 +85243,43 @@ index b675e802c3..cc33feda4a 100644 ofputil_group_to_string(group_id, name, sizeof name); ds_put_cstr(s, name); +diff --git a/lib/ofp-packet.c b/lib/ofp-packet.c +index 4579548ee1..9485ddfc93 100644 +--- a/lib/ofp-packet.c ++++ b/lib/ofp-packet.c +@@ -133,7 +133,9 @@ decode_nx_packet_in2(const struct ofp_header *oh, bool loose, + case NXPINT_FULL_LEN: { + uint32_t u32; + error = ofpprop_parse_u32(&payload, &u32); +- *total_len = u32; ++ if (!error) { ++ *total_len = u32; ++ } + break; + } + +@@ -152,7 +154,9 @@ decode_nx_packet_in2(const struct ofp_header *oh, bool loose, + case NXPINT_REASON: { + uint8_t reason; + error = ofpprop_parse_u8(&payload, &reason); +- pin->reason = reason; ++ if (!error) { ++ pin->reason = reason; ++ } + break; + } + +@@ -883,7 +887,9 @@ ofputil_decode_packet_in_private(const struct ofp_header *oh, bool loose, + case NXCPT_ODP_PORT: { + uint32_t value; + error = ofpprop_parse_u32(&payload, &value); +- pin->odp_port = u32_to_odp(value); ++ if (!error) { ++ pin->odp_port = u32_to_odp(value); ++ } + break; + } + diff --git a/lib/ovs-actions.xml b/lib/ovs-actions.xml index ab8e08b84d..8f8c9041ac 100644 --- a/lib/ovs-actions.xml @@ -91083,7 +91131,7 @@ index 8d777a0275..5e3b26aea8 100644 AT_KEYWORDS([ovsdb client positive]) diff --git a/tests/ovsdb-cluster.at b/tests/ovsdb-cluster.at -index 3a0bd4579e..9114ea1d13 100644 +index 3a0bd4579e..efb0efd7f7 100644 --- a/tests/ovsdb-cluster.at +++ b/tests/ovsdb-cluster.at @@ -128,7 +128,7 @@ ovsdb_test_cluster_disconnect () { @@ -91281,7 +91329,19 @@ index 3a0bd4579e..9114ea1d13 100644 OVS_START_SHELL_HELPERS -@@ -436,6 +608,61 @@ AT_KEYWORDS([ovsdb server negative unix cluster pending-txn]) +@@ -289,9 +461,8 @@ ovsdb_cluster_failure_test () { + + cp $top_srcdir/vswitchd/vswitch.ovsschema schema + schema=`ovsdb-tool schema-name schema` +- AT_CHECK([ovsdb-tool '-vPATTERN:console:%c|%p|%m' create-cluster s1.db schema unix:s1.raft], [0], [], [dnl +-ovsdb|WARN|schema: changed 30 columns in 'Open_vSwitch' database from ephemeral to persistent, including 'status' column in 'Manager' table, because clusters do not support ephemeral columns +-]) ++ AT_CHECK([ovsdb-tool '-vPATTERN:console:%c|%p|%m' create-cluster s1.db schema unix:s1.raft], [0], [], [stderr]) ++ AT_CHECK([sed < stderr "/ovsdb|WARN|schema: changed .* columns in 'Open_vSwitch' database from ephemeral to persistent/d"]) + + n=3 + join_cluster() { +@@ -436,6 +607,61 @@ AT_KEYWORDS([ovsdb server negative unix cluster pending-txn]) ovsdb_cluster_failure_test 2 2 3 crash-after-receiving-append-request-update AT_CLEANUP @@ -91343,7 +91403,19 @@ index 3a0bd4579e..9114ea1d13 100644 AT_BANNER([OVSDB - cluster tests]) -@@ -529,7 +756,7 @@ ovsdb|WARN|schema: changed 30 columns in 'Open_vSwitch' database from ephemeral +@@ -447,9 +673,8 @@ ovsdb_torture_test () { + local variant=$3 # 'kill' and restart or 'remove' and add + cp $top_srcdir/vswitchd/vswitch.ovsschema schema + schema=`ovsdb-tool schema-name schema` +- AT_CHECK([ovsdb-tool '-vPATTERN:console:%c|%p|%m' create-cluster s1.db schema unix:s1.raft], [0], [], [dnl +-ovsdb|WARN|schema: changed 30 columns in 'Open_vSwitch' database from ephemeral to persistent, including 'status' column in 'Manager' table, because clusters do not support ephemeral columns +-]) ++ AT_CHECK([ovsdb-tool '-vPATTERN:console:%c|%p|%m' create-cluster s1.db schema unix:s1.raft], [0], [], [stderr]) ++ AT_CHECK([sed < stderr "/ovsdb|WARN|schema: changed .* columns in 'Open_vSwitch' database from ephemeral to persistent/d"]) + + join_cluster() { + local i=$1 +@@ -529,7 +754,7 @@ ovsdb|WARN|schema: changed 30 columns in 'Open_vSwitch' database from ephemeral # Use file instead of var because code inside "while" runs in a subshell. echo 0 > phase i=0 diff --git a/SPECS/openvswitch2.13.spec b/SPECS/openvswitch2.13.spec index d95442b..1f1daf2 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: 165%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} +Release: 166%{?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,13 @@ exit 0 %endif %changelog +* Fri Mar 11 2022 Open vSwitch CI - 2.13.0-166 +- Merging upstream branch-2.13 [RH git: 0fb64d739c] + Commit list: + 9fa59d4569 ofp-prop: Silence the 'may be uninitialized' warning. + f105fbc310 ovsdb-cluster.at: Avoid test failures due to different hashing. + + * Mon Mar 07 2022 Open vSwitch CI - 2.13.0-165 - Merging upstream branch-2.13 [RH git: 2b7b5c6551] Commit list: