From efe61899f6447ced31ab47afe067852dec353a1b Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Aug 09 2024 04:22:53 +0000 Subject: Import openvswitch3.2-3.2.0-97 from Fast DataPath --- diff --git a/SOURCES/openvswitch-3.2.0.patch b/SOURCES/openvswitch-3.2.0.patch index d69d6af..833c56a 100644 --- a/SOURCES/openvswitch-3.2.0.patch +++ b/SOURCES/openvswitch-3.2.0.patch @@ -3381,7 +3381,7 @@ index bdd12f6a7b..ac72a44bce 100644

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c -index 8f1361e21f..fe82d6dd02 100644 +index 8f1361e21f..3e47961a56 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -1312,6 +1312,16 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev) @@ -3480,6 +3480,53 @@ index 8f1361e21f..fe82d6dd02 100644 } while (nb_tx != nb_tx_prep) { +@@ -4320,10 +4361,11 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn, + int argc, const char *argv[], + void *aux OVS_UNUSED) + { +- size_t size; +- FILE *stream; +- char *response = NULL; + struct netdev *netdev = NULL; ++ const char *error = NULL; ++ char *response = NULL; ++ FILE *stream; ++ size_t size; + + if (argc == 2) { + netdev = netdev_from_name(argv[1]); +@@ -4347,10 +4389,14 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn, + ovs_mutex_lock(&dev->mutex); + ovs_mutex_lock(&dpdk_mp_mutex); + +- rte_mempool_dump(stream, dev->dpdk_mp->mp); +- fprintf(stream, " count: avail (%u), in use (%u)\n", +- rte_mempool_avail_count(dev->dpdk_mp->mp), +- rte_mempool_in_use_count(dev->dpdk_mp->mp)); ++ if (dev->dpdk_mp) { ++ rte_mempool_dump(stream, dev->dpdk_mp->mp); ++ fprintf(stream, " count: avail (%u), in use (%u)\n", ++ rte_mempool_avail_count(dev->dpdk_mp->mp), ++ rte_mempool_in_use_count(dev->dpdk_mp->mp)); ++ } else { ++ error = "Not allocated"; ++ } + + ovs_mutex_unlock(&dpdk_mp_mutex); + ovs_mutex_unlock(&dev->mutex); +@@ -4362,7 +4408,11 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn, + + fclose(stream); + +- unixctl_command_reply(conn, response); ++ if (error) { ++ unixctl_command_reply_error(conn, error); ++ } else { ++ unixctl_command_reply(conn, response); ++ } + out: + free(response); + netdev_close(netdev); diff --git a/lib/netdev-dummy.c b/lib/netdev-dummy.c index 1a54add87f..91ead921e1 100644 --- a/lib/netdev-dummy.c @@ -6023,7 +6070,7 @@ index 59f498a20d..6f5e58acb3 100644 } diff --git a/ovsdb/transaction.c b/ovsdb/transaction.c -index 7cf4a851aa..1bbebd65e5 100644 +index 7cf4a851aa..ff03f06ce8 100644 --- a/ovsdb/transaction.c +++ b/ovsdb/transaction.c @@ -321,7 +321,8 @@ update_row_ref_count(struct ovsdb_txn *txn, struct ovsdb_txn_row *r) @@ -6081,6 +6128,14 @@ index 7cf4a851aa..1bbebd65e5 100644 } /* Checking added data and creating new references. */ +@@ -1056,7 +1067,6 @@ ovsdb_txn_precommit(struct ovsdb_txn *txn) + * was really a no-op. */ + error = for_each_txn_row(txn, determine_changes); + if (error) { +- ovsdb_txn_abort(txn); + return OVSDB_WRAP_BUG("can't happen", error); + } + if (ovs_list_is_empty(&txn->txn_tables)) { diff --git a/ovsdb/trigger.c b/ovsdb/trigger.c index 0edcdd89c6..2a48ccc643 100644 --- a/ovsdb/trigger.c @@ -8725,10 +8780,23 @@ index 0d09906fb6..88f6605663 100644 ]) diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at -index 0f58e85742..5ed1c7e676 100644 +index 0f58e85742..ebc6964a6b 100644 --- a/tests/system-dpdk.at +++ b/tests/system-dpdk.at -@@ -585,14 +585,13 @@ dnl Add userspace bridge and attach it to OVS with default MTU value +@@ -82,6 +82,12 @@ AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostclient0) vhost-user client: + AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client' mode, using client socket" ovs-vswitchd.log], [], [stdout]) + AT_CHECK([grep "VHOST_CONFIG: ($OVS_RUNDIR/dpdkvhostclient0) reconnecting..." ovs-vswitchd.log], [], [stdout]) + ++dnl Check that no mempool was allocated. ++AT_CHECK([ovs-appctl netdev-dpdk/get-mempool-info dpdkvhostuserclient0], [2], [], [dnl ++Not allocated ++ovs-appctl: ovs-vswitchd: server returned an error ++]) ++ + dnl Clean up + AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr]) + OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [ +@@ -585,14 +591,13 @@ dnl Add userspace bridge and attach it to OVS with default MTU value AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 -- set Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [], [stdout], [stderr]) AT_CHECK([ovs-vsctl show], [], [stdout]) @@ -8745,7 +8813,7 @@ index 0f58e85742..5ed1c7e676 100644 dnl Fail if MTU is not supported AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitchd.log], [], [stdout]) -@@ -600,10 +599,6 @@ AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitch +@@ -600,10 +605,6 @@ AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitch dnl Fail if error is encountered during MTU setup AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup error" ovs-vswitchd.log], [], [stdout]) @@ -8756,7 +8824,7 @@ index 0f58e85742..5ed1c7e676 100644 dnl Clean up AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr]) OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]") -@@ -627,7 +622,9 @@ AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev]) +@@ -627,7 +628,9 @@ AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev]) AT_CHECK([ovs-vsctl add-port br10 phy0 -- set Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [], [stdout], [stderr]) AT_CHECK([ovs-vsctl set Interface phy0 mtu_request=9000]) AT_CHECK([ovs-vsctl show], [], [stdout]) @@ -8767,7 +8835,7 @@ index 0f58e85742..5ed1c7e676 100644 dnl Fail if MTU is not supported AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitchd.log], [], [stdout]) -@@ -635,15 +632,9 @@ AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitch +@@ -635,15 +638,9 @@ AT_FAIL_IF([grep "Interface phy0 does not support MTU configuration" ovs-vswitch dnl Fail if error is encountered during MTU setup AT_FAIL_IF([grep "Interface phy0 MTU (9000) setup error" ovs-vswitchd.log], [], [stdout]) diff --git a/SPECS/openvswitch3.2.spec b/SPECS/openvswitch3.2.spec index a17f80d..f2eaa50 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: 96%{?dist} +Release: 97%{?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 +* Thu Aug 08 2024 Open vSwitch CI - 3.2.0-97 +- Merging upstream branch-3.2 [RH git: ebd0cb3338] + Commit list: + 46cc67da40 netdev-dpdk: Fix race condition in mempool information dump. + fb46409cdc ovsdb: transaction: Remove incorrect transaction abort in pre-commit. + + * Fri Jul 26 2024 Timothy Redaelli - 3.2.0-96 - Use --with-version-suffix [RH git: 01fe20237b]