From 50b6153e0329c1358d48880cdcf094db988d9532 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Aug 15 2024 00:38:23 +0000 Subject: Import openvswitch3.2-3.2.0-98 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.2.0.patch b/SOURCES/openvswitch-3.2.0.patch index 833c56a..67b3665 100644 --- a/SOURCES/openvswitch-3.2.0.patch +++ b/SOURCES/openvswitch-3.2.0.patch @@ -3592,7 +3592,7 @@ index 1a54add87f..91ead921e1 100644 } else { unixctl_command_reply_error(conn, error); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index cca3408797..d1ad031f11 100644 +index cca3408797..6560108d16 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -2566,16 +2566,12 @@ exit: @@ -3664,6 +3664,16 @@ index cca3408797..d1ad031f11 100644 max_rate = current_speed ? current_speed / 8 * 1000000ULL : NETDEV_DEFAULT_BPS / 8; } +@@ -6577,7 +6588,8 @@ get_stats_via_netlink(const struct netdev *netdev_, struct netdev_stats *stats) + struct rtnl_link_stats64 aligned_lstats; + + if (!IS_PTR_ALIGNED(lstats)) { +- memcpy(&aligned_lstats, lstats, sizeof aligned_lstats); ++ memcpy(&aligned_lstats, (void *) lstats, ++ sizeof aligned_lstats); + lstats = &aligned_lstats; + } + netdev_stats_from_rtnl_link_stats64(stats, lstats); diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index 715bbab2be..a6de995990 100644 --- a/lib/netdev-native-tnl.c @@ -4285,7 +4295,7 @@ index 12245b7649..40abed428e 100644 void packet_set_udp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); void packet_set_sctp_port(struct dp_packet *, ovs_be16 src, ovs_be16 dst); diff --git a/lib/route-table.c b/lib/route-table.c -index 9927dcc185..f1fe32714e 100644 +index 9927dcc185..c6cb21394a 100644 --- a/lib/route-table.c +++ b/lib/route-table.c @@ -26,6 +26,7 @@ @@ -4305,16 +4315,29 @@ index 9927dcc185..f1fe32714e 100644 struct route_data { /* Copied from struct rtmsg. */ unsigned char rtm_dst_len; -@@ -80,7 +83,7 @@ static struct nln_notifier *name_notifier = NULL; +@@ -80,9 +83,9 @@ static struct nln_notifier *name_notifier = NULL; static bool route_table_valid = false; -static int route_table_reset(void); +static void route_table_reset(void); static void route_table_handle_msg(const struct route_table_msg *); - static int route_table_parse(struct ofpbuf *, struct route_table_msg *); +-static int route_table_parse(struct ofpbuf *, struct route_table_msg *); ++static int route_table_parse(struct ofpbuf *, void *change); static void route_table_change(const struct route_table_msg *, void *); -@@ -153,26 +156,22 @@ route_table_wait(void) + static void route_map_clear(void); + +@@ -107,8 +110,7 @@ route_table_init(void) + ovs_assert(!route6_notifier); + + ovs_router_init(); +- nln = nln_create(NETLINK_ROUTE, (nln_parse_func *) route_table_parse, +- &rtmsg); ++ nln = nln_create(NETLINK_ROUTE, route_table_parse, &rtmsg); + + route_notifier = + nln_notifier_create(nln, RTNLGRP_IPV4_ROUTE, +@@ -153,26 +155,22 @@ route_table_wait(void) ovs_mutex_unlock(&route_table_mutex); } @@ -4350,7 +4373,7 @@ index 9927dcc185..f1fe32714e 100644 nl_dump_start(&dump, NETLINK_ROUTE, &request); ofpbuf_uninit(&request); -@@ -182,12 +181,43 @@ route_table_reset(void) +@@ -182,19 +180,51 @@ route_table_reset(void) struct route_table_msg msg; if (route_table_parse(&reply, &msg)) { @@ -4395,6 +4418,15 @@ index 9927dcc185..f1fe32714e 100644 } /* Return RTNLGRP_IPV4_ROUTE or RTNLGRP_IPV6_ROUTE on success, 0 on parse + * error. */ + static int +-route_table_parse(struct ofpbuf *buf, struct route_table_msg *change) ++route_table_parse(struct ofpbuf *buf, void *change_) + { ++ struct route_table_msg *change = change_; + bool parsed, ipv4 = false; + + static const struct nl_policy policy[] = { @@ -203,6 +233,7 @@ route_table_parse(struct ofpbuf *buf, struct route_table_msg *change) [RTA_GATEWAY] = { .type = NL_A_U32, .optional = true }, [RTA_MARK] = { .type = NL_A_U32, .optional = true }, diff --git a/SPECS/openvswitch3.2.spec b/SPECS/openvswitch3.2.spec index f2eaa50..7cca409 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: 97%{?dist} +Release: 98%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -763,6 +763,13 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.2.0-98 +- Merging upstream branch-3.2 [RH git: 4d4a155af8] + Commit list: + 3ff343a96b netdev-linux: Fix unaligned access to rpl_rtnl_link_stats64. + cd9c2ffcb3 route-table: Fix another UBsan warning about pointer type. + + * Thu Aug 08 2024 Open vSwitch CI - 3.2.0-97 - Merging upstream branch-3.2 [RH git: ebd0cb3338] Commit list: