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