From 06ef5b3a8c54e7d5880ea8b60fdff3c13b333f10 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Jul 19 2024 14:17:19 +0000 Subject: Import openvswitch3.1-3.1.0-124 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.1.0.patch b/SOURCES/openvswitch-3.1.0.patch index f800ce3..75ef286 100644 --- a/SOURCES/openvswitch-3.1.0.patch +++ b/SOURCES/openvswitch-3.1.0.patch @@ -564,6 +564,28 @@ index b59b7634fa..36adcc5db2 100644 supported. This action was added in Open vSwitch 2.14. +diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst +index 3a5f5be988..284b951f79 100644 +--- a/Documentation/topics/dpdk/vhost-user.rst ++++ b/Documentation/topics/dpdk/vhost-user.rst +@@ -312,7 +312,7 @@ predictable migration time. Mostly used as a second phase after the normal + + More information can be found in QEMU `docs`_. + +-.. _`docs`: https://git.qemu.org/?p=qemu.git;a=blob;f=docs/devel/migration.rst ++.. _`docs`: https://www.qemu.org/docs/master/devel/migration/postcopy.html + + Post-copy support may be enabled via a global config value + ``vhost-postcopy-support``. Setting this to ``true`` enables Post-copy support +@@ -485,7 +485,7 @@ Sample XML + + + +-.. _QEMU documentation: http://git.qemu-project.org/?p=qemu.git;a=blob;f=docs/specs/vhost-user.txt;h=7890d7169;hb=HEAD ++.. _QEMU documentation: https://www.qemu.org/docs/master/interop/vhost-user.html + + Jumbo Frames + ------------ diff --git a/Makefile.am b/Makefile.am index e605187b81..f2e0650b88 100644 --- a/Makefile.am @@ -3164,7 +3186,7 @@ index 61e405460a..d33cee8543 100644 } diff --git a/lib/dpctl.c b/lib/dpctl.c -index d12d9b8a5e..e9110462d2 100644 +index d12d9b8a5e..a93628fb7e 100644 --- a/lib/dpctl.c +++ b/lib/dpctl.c @@ -673,7 +673,7 @@ show_dpif(struct dpif *dpif, struct dpctl_params *dpctl_p) @@ -3176,6 +3198,16 @@ index d12d9b8a5e..e9110462d2 100644 continue; } +@@ -726,8 +726,8 @@ show_dpif(struct dpif *dpif, struct dpctl_params *dpctl_p) + continue; + } + error = netdev_get_stats(netdev, &s); ++ netdev_close(netdev); + if (!error) { +- netdev_close(netdev); + print_stat(dpctl_p, " RX packets:", s.rx_packets); + print_stat(dpctl_p, " errors:", s.rx_errors); + print_stat(dpctl_p, " dropped:", s.rx_dropped); @@ -1343,19 +1343,17 @@ static int dpctl_del_flow_dpif(struct dpif *dpif, const char *key_s, struct dpctl_params *dpctl_p) @@ -3373,6 +3405,18 @@ index c9f7179c3b..4c85ab4aad 100644 dpif_netdev_init, dpif_netdev_enumerate, dpif_netdev_port_open_type, +diff --git a/lib/dpif-netlink-rtnl.c b/lib/dpif-netlink-rtnl.c +index 4fc42daed2..4090efcd85 100644 +--- a/lib/dpif-netlink-rtnl.c ++++ b/lib/dpif-netlink-rtnl.c +@@ -561,6 +561,7 @@ dpif_netlink_rtnl_probe_oot_tunnels(void) + + tnl_cfg = netdev_get_tunnel_config(netdev); + if (!tnl_cfg) { ++ netdev_close(netdev); + return true; + } + diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c index 026b0daa8d..dc56e863fd 100644 --- a/lib/dpif-netlink.c @@ -3583,10 +3627,29 @@ index bbb31ef275..7054f8e745 100644 struct hook *h = &hooks[i]; if (h->cancel_cb) { diff --git a/lib/flow.c b/lib/flow.c -index c3a3aa3ce4..f0fea83c55 100644 +index c3a3aa3ce4..9d95d7a6e2 100644 --- a/lib/flow.c +++ b/lib/flow.c -@@ -3355,6 +3355,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, +@@ -408,7 +408,8 @@ parse_ethertype(const void **datap, size_t *sizep) + static inline bool + parse_icmpv6(const void **datap, size_t *sizep, + const struct icmp6_data_header *icmp6, +- ovs_be32 *rso_flags, const struct in6_addr **nd_target, ++ ovs_be32 *rso_flags, ++ const union ovs_16aligned_in6_addr **nd_target, + struct eth_addr arp_buf[2], uint8_t *opt_type) + { + if (icmp6->icmp6_base.icmp6_code != 0 || +@@ -1070,7 +1071,7 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst) + } + } else if (OVS_LIKELY(nw_proto == IPPROTO_ICMPV6)) { + if (OVS_LIKELY(size >= sizeof(struct icmp6_data_header))) { +- const struct in6_addr *nd_target; ++ const union ovs_16aligned_in6_addr *nd_target; + struct eth_addr arp_buf[2]; + /* This will populate whether we received Option 1 + * or Option 2. */ +@@ -3355,6 +3356,24 @@ flow_compose(struct dp_packet *p, const struct flow *flow, arp->ar_sha = flow->arp_sha; arp->ar_tha = flow->arp_tha; } @@ -3845,6 +3908,19 @@ index 8102475cae..cdf42935c1 100644 po.buffer_id = buffer_id; if (buffer_id == UINT32_MAX) { po.packet = dp_packet_data(&pkt); +diff --git a/lib/match.c b/lib/match.c +index 0b9dc4278c..9b7e06e0c7 100644 +--- a/lib/match.c ++++ b/lib/match.c +@@ -1618,7 +1618,7 @@ match_format(const struct match *match, + ds_put_char(s, ','); + } + for (i = 0; i < FLOW_MAX_VLAN_HEADERS; i++) { +- char str_i[8]; ++ char str_i[12]; + + if (!wc->masks.vlans[i].tci) { + break; diff --git a/lib/mcast-snooping.c b/lib/mcast-snooping.c index 029ca28558..43805ae4d5 100644 --- a/lib/mcast-snooping.c @@ -6757,6 +6833,19 @@ index cdd3b4f60e..44f34dfc80 100644 ovs_be16 tp_dst; uint8_t tos; uint8_t ttl; +diff --git a/lib/util.c b/lib/util.c +index 96a71550d9..d0a61ddfab 100644 +--- a/lib/util.c ++++ b/lib/util.c +@@ -224,6 +224,8 @@ xvasprintf(const char *format, va_list args) + size_t needed; + char *s; + ++ ovs_assert(format); ++ + va_copy(args2, args); + needed = vsnprintf(NULL, 0, format, args); + diff --git a/lib/vconn.c b/lib/vconn.c index b556762277..e9603432d2 100644 --- a/lib/vconn.c diff --git a/SPECS/openvswitch3.1.spec b/SPECS/openvswitch3.1.spec index 0d517f3..c2c3ef4 100644 --- a/SPECS/openvswitch3.1.spec +++ b/SPECS/openvswitch3.1.spec @@ -57,7 +57,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 3.1.0 -Release: 123%{?dist} +Release: 124%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -754,6 +754,17 @@ exit 0 %endif %changelog +* Fri Jul 19 2024 Open vSwitch CI - 3.1.0-124 +- Merging upstream branch-3.1 [RH git: b63fdb9eff] + Commit list: + 99038d3b64 Documentation: Update QEMU documentation URLs. + 4ebbe54366 match: Fix false-positive snprintf size warning. + 35e1fd8e8f util: Add non-NULL format assertion to xvasprintf. + 8a09ab4a7e flow: Fix unaligned access to the ND target in miniflow_extract. + d97c8a730a dpif-netlink-rtnl: Fix netdev leak in out-of-tree tunnels probe. + be77786854 dpctl: Fix netdev reference leak in "show" command. + + * Wed Jul 17 2024 Open vSwitch CI - 3.1.0-123 - Merging upstream branch-3.1 [RH git: c828a38b88] Commit list: