From 466dd80772a91017f68d15832b215128b4ce48f0 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Aug 14 2024 23:38:07 +0000 Subject: Import openvswitch3.3-3.3.0-44 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.3.0.patch b/SOURCES/openvswitch-3.3.0.patch index e87b528..f8e2c06 100644 --- a/SOURCES/openvswitch-3.3.0.patch +++ b/SOURCES/openvswitch-3.3.0.patch @@ -1691,7 +1691,7 @@ index cd7e85a818..e8bbf8d514 100644 } else { unixctl_command_reply_error(conn, error); diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c -index bf91ef462e..751bb4b708 100644 +index bf91ef462e..220825074b 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -1062,8 +1062,7 @@ netdev_linux_construct_tap(struct netdev *netdev_) @@ -1759,7 +1759,17 @@ index bf91ef462e..751bb4b708 100644 } return netdev->get_features_error; } -@@ -7199,13 +7203,6 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int mtu) +@@ -6739,7 +6743,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); +@@ -7199,13 +7204,6 @@ netdev_linux_prepend_vnet_hdr(struct dp_packet *b, int mtu) /* The packet has good L4 checksum. No need to validate again. */ vnet->csum_start = vnet->csum_offset = (OVS_FORCE __virtio16) 0; vnet->flags = VIRTIO_NET_HDR_F_DATA_VALID; @@ -2186,7 +2196,7 @@ index 8b6994809f..a102f81634 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 @@ @@ -2206,16 +2216,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); } @@ -2251,7 +2274,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)) { @@ -2296,6 +2319,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.3.spec b/SPECS/openvswitch3.3.spec index cc11de2..1eaed23 100644 --- a/SPECS/openvswitch3.3.spec +++ b/SPECS/openvswitch3.3.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.3.0 -Release: 43%{?dist} +Release: 44%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -769,6 +769,13 @@ exit 0 %endif %changelog +* Wed Aug 14 2024 Open vSwitch CI - 3.3.0-44 +- Merging upstream branch-3.3 [RH git: 3cc89bc2a3] + Commit list: + c1c70e0838 netdev-linux: Fix unaligned access to rpl_rtnl_link_stats64. + b176cea4f4 route-table: Fix another UBsan warning about pointer type. + + * Wed Aug 14 2024 Open vSwitch CI - 3.3.0-43 - Merging upstream branch-3.3 [RH git: 62ef744448] Commit list: