From ff152ef982565fdbb74c7e211a9a206a32e5e5bc Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: May 29 2024 00:42:51 +0000 Subject: Import openvswitch3.2-3.2.0-81 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.2.0.patch b/SOURCES/openvswitch-3.2.0.patch index 2f41776..1efb619 100644 --- a/SOURCES/openvswitch-3.2.0.patch +++ b/SOURCES/openvswitch-3.2.0.patch @@ -2760,6 +2760,35 @@ index 5d2635946d..3a8068b12c 100644 goto out; } +diff --git a/lib/dpctl.c b/lib/dpctl.c +index 79b82a1767..b0ee5734f4 100644 +--- a/lib/dpctl.c ++++ b/lib/dpctl.c +@@ -1347,19 +1347,17 @@ static int + dpctl_del_flow_dpif(struct dpif *dpif, const char *key_s, + struct dpctl_params *dpctl_p) + { ++ struct dpif_port_dump port_dump; + struct dpif_flow_stats stats; ++ bool ufid_generated = false; + struct dpif_port dpif_port; +- struct dpif_port_dump port_dump; +- struct ofpbuf key; ++ bool ufid_present = false; ++ struct simap port_names; + struct ofpbuf mask; /* To be ignored. */ +- ++ struct ofpbuf key; + ovs_u128 ufid; +- bool ufid_generated; +- bool ufid_present; +- struct simap port_names; + int n, error; + +- ufid_present = false; + n = odp_ufid_from_string(key_s, &ufid); + if (n < 0) { + dpctl_error(dpctl_p, -n, "parsing flow ufid"); diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 9730e0eecc..b8f065d1d7 100644 --- a/lib/dpif-netdev.c @@ -3111,10 +3140,10 @@ index 1a54add87f..e72b2b27ae 100644 } else { unixctl_command_reply_error(conn, error); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index cca3408797..1ee585b941 100644 +index cca3408797..d1ad031f11 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c -@@ -2566,16 +2566,11 @@ exit: +@@ -2566,16 +2566,12 @@ exit: } static int @@ -3130,13 +3159,17 @@ index cca3408797..1ee585b941 100644 if (netdev_linux_netnsid_is_remote(netdev)) { - error = EOPNOTSUPP; - goto exit; ++ *current = *max = 0; + return EOPNOTSUPP; } netdev_linux_read_features(netdev); -@@ -2585,9 +2580,18 @@ netdev_linux_get_speed(const struct netdev *netdev_, uint32_t *current, +@@ -2584,10 +2580,21 @@ netdev_linux_get_speed(const struct netdev *netdev_, uint32_t *current, + ? 0 : netdev->current_speed; *max = MIN(UINT32_MAX, netdev_features_to_bps(netdev->supported, 0) / 1000000ULL); ++ } else { ++ *current = *max = 0; } - error = netdev->get_features_error; + return netdev->get_features_error; @@ -3155,7 +3188,7 @@ index cca3408797..1ee585b941 100644 ovs_mutex_unlock(&netdev->mutex); return error; } -@@ -4800,8 +4804,10 @@ htb_parse_qdisc_details__(struct netdev *netdev, const struct smap *details, +@@ -4800,8 +4807,10 @@ htb_parse_qdisc_details__(struct netdev *netdev, const struct smap *details, hc->max_rate = smap_get_ullong(details, "max-rate", 0) / 8; if (!hc->max_rate) { uint32_t current_speed; @@ -3167,7 +3200,7 @@ index cca3408797..1ee585b941 100644 hc->max_rate = current_speed ? current_speed / 8 * 1000000ULL : NETDEV_DEFAULT_BPS / 8; } -@@ -5270,8 +5276,10 @@ hfsc_parse_qdisc_details__(struct netdev *netdev, const struct smap *details, +@@ -5270,8 +5279,10 @@ hfsc_parse_qdisc_details__(struct netdev *netdev, const struct smap *details, uint32_t max_rate = smap_get_ullong(details, "max-rate", 0) / 8; if (!max_rate) { uint32_t current_speed; @@ -3180,7 +3213,7 @@ index cca3408797..1ee585b941 100644 : NETDEV_DEFAULT_BPS / 8; } diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c -index 715bbab2be..54b7c09581 100644 +index 715bbab2be..a6de995990 100644 --- a/lib/netdev-native-tnl.c +++ b/lib/netdev-native-tnl.c @@ -828,9 +828,9 @@ netdev_srv6_build_header(const struct netdev *netdev, @@ -3204,6 +3237,18 @@ index 715bbab2be..54b7c09581 100644 for (i = 0; i < nr_segs; i++) { /* Segment list is written to the header in reverse order. */ memcpy(s, &segs[nr_segs - i - 1], sizeof *s); +@@ -964,7 +963,10 @@ netdev_srv6_pop_header(struct dp_packet *packet) + } + + pkt_metadata_init_tnl(md); +- netdev_tnl_ip_extract_tnl_md(packet, tnl, &hlen); ++ if (!netdev_tnl_ip_extract_tnl_md(packet, tnl, &hlen)) { ++ goto err; ++ } ++ + dp_packet_reset_packet(packet, hlen); + + return packet; diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 14bc877719..992627fa23 100644 --- a/lib/netdev-offload-dpdk.c @@ -3888,6 +3933,36 @@ index 2f01966f79..90e8094599 100644 unixctl_command_register("rstp/tcn", "[bridge]", 0, 1, rstp_unixctl_tcn, NULL); unixctl_command_register("rstp/show", "[bridge]", 0, 1, rstp_unixctl_show, +diff --git a/lib/socket-util.c b/lib/socket-util.c +index 3eb3a3816b..b3f541b6db 100644 +--- a/lib/socket-util.c ++++ b/lib/socket-util.c +@@ -546,9 +546,15 @@ inet_parse_active(const char *target_, int default_port, + if (!host) { + VLOG_ERR("%s: host must be specified", target_); + ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } + } else if (!port && default_port < 0) { + VLOG_ERR("%s: port must be specified", target_); + ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } + } else { + ok = parse_sockaddr_components(ss, host, port, default_port, + target_, resolve_host, dns_failure); +@@ -671,6 +677,9 @@ inet_parse_passive(const char *target_, int default_port, + if (!port && default_port < 0) { + VLOG_ERR("%s: port must be specified", target_); + ok = false; ++ if (dns_failure) { ++ *dns_failure = false; ++ } + } else { + ok = parse_sockaddr_components(ss, host, port, default_port, + target_, resolve_host, dns_failure); diff --git a/lib/table.c b/lib/table.c index 48d18b6518..b7addbf390 100644 --- a/lib/table.c diff --git a/SPECS/openvswitch3.2.spec b/SPECS/openvswitch3.2.spec index d7159c3..9356c32 100644 --- a/SPECS/openvswitch3.2.spec +++ b/SPECS/openvswitch3.2.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.2.0 -Release: 80%{?dist} +Release: 81%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -761,6 +761,15 @@ exit 0 %endif %changelog +* Tue May 28 2024 Open vSwitch CI - 3.2.0-81 +- Merging upstream branch-3.2 [RH git: 11e849f164] + Commit list: + 6f955620fa netdev-linux: Initialize link speed in error conditions. + 1bdf7628d6 socket: Fix uninitialized values in inet_parse_ functions. + 1c793d6ce4 dpctl: Fix uninitialized value when deleting flows. + ba14f51e3c netdev-native-tnl: Fix use of uninitialized offset on SRv6 header pop. + + * Thu May 23 2024 Open vSwitch CI - 3.2.0-80 - Merging upstream branch-3.2 [RH git: 5da09bcf5e] Commit list: