diff --git a/SOURCES/openvswitch-2.15.0.patch b/SOURCES/openvswitch-2.15.0.patch index 4fc4d15..fa0da62 100644 --- a/SOURCES/openvswitch-2.15.0.patch +++ b/SOURCES/openvswitch-2.15.0.patch @@ -21438,10 +21438,21 @@ index a8598d52af..6245e0c26b 100644 OVS_KEY_ATTR_ETHERTYPE); if (ma) { diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c -index e2e829772a..6fb3da5074 100644 +index e2e829772a..0831d811ed 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c -@@ -3777,11 +3777,22 @@ parse_SET_MPLS_LABEL(char *arg, const struct ofpact_parse_params *pp) +@@ -853,7 +853,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; + } + +@@ -3777,11 +3779,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); @@ -21465,7 +21476,7 @@ index e2e829772a..6fb3da5074 100644 return NULL; } -@@ -3837,12 +3848,22 @@ static char * OVS_WARN_UNUSED_RESULT +@@ -3837,12 +3850,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); @@ -21489,7 +21500,7 @@ index e2e829772a..6fb3da5074 100644 return NULL; } -@@ -3850,7 +3871,7 @@ static void +@@ -3850,7 +3873,7 @@ static void format_SET_MPLS_TC(const struct ofpact_mpls_tc *a, const struct ofpact_format_params *fp) { @@ -21498,7 +21509,7 @@ index e2e829772a..6fb3da5074 100644 colors.paren, colors.end, a->tc, colors.paren, colors.end); } -@@ -3889,12 +3910,18 @@ static char * OVS_WARN_UNUSED_RESULT +@@ -3889,12 +3912,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); @@ -21518,7 +21529,7 @@ index e2e829772a..6fb3da5074 100644 return NULL; } -@@ -4431,6 +4458,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, +@@ -4431,6 +4460,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, { struct ofpact_encap *encap; const struct ofp_ed_prop_header *ofp_prop; @@ -21526,7 +21537,7 @@ index e2e829772a..6fb3da5074 100644 size_t props_len; uint16_t n_props = 0; int err; -@@ -4458,6 +4486,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, +@@ -4458,6 +4488,7 @@ decode_NXAST_RAW_ENCAP(const struct nx_action_encap *nae, } n_props++; } @@ -21569,6 +21580,43 @@ index bf0f8af544..737f48047b 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 a2778de4bc..3894cb3c33 100644 --- a/lib/ovs-actions.xml @@ -25516,7 +25564,7 @@ index 8d777a0275..5e3b26aea8 100644 AT_KEYWORDS([ovsdb client positive]) diff --git a/tests/ovsdb-cluster.at b/tests/ovsdb-cluster.at -index 92aa427093..9114ea1d13 100644 +index 92aa427093..efb0efd7f7 100644 --- a/tests/ovsdb-cluster.at +++ b/tests/ovsdb-cluster.at @@ -128,7 +128,7 @@ ovsdb_test_cluster_disconnect () { @@ -25590,6 +25638,30 @@ index 92aa427093..9114ea1d13 100644 OVS_START_SHELL_HELPERS +@@ -406,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() { +@@ -619,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 diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at index 4b4791a7da..dd7b0df755 100644 --- a/tests/ovsdb-idl.at diff --git a/SPECS/openvswitch2.15.spec b/SPECS/openvswitch2.15.spec index d7b50fb..074b120 100644 --- a/SPECS/openvswitch2.15.spec +++ b/SPECS/openvswitch2.15.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.15.0 -Release: 81%{?dist} +Release: 82%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -702,6 +702,13 @@ exit 0 %endif %changelog +* Fri Mar 11 2022 Open vSwitch CI - 2.15.0-82 +- Merging upstream branch-2.15 [RH git: 7bb43bfb9f] + Commit list: + deeec60597 ofp-prop: Silence the 'may be uninitialized' warning. + fa26f1f847 ovsdb-cluster.at: Avoid test failures due to different hashing. + + * Mon Mar 07 2022 Open vSwitch CI - 2.15.0-81 - Merging upstream branch-2.15 [RH git: a735607890] Commit list: