|
Open vSwitch CI |
e9b567 |
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
e9b567 |
index 02cef6e451..7cced0f226 100644
|
|
Open vSwitch CI |
e9b567 |
--- a/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
e9b567 |
+++ b/lib/netdev-dpdk.c
|
|
Open vSwitch CI |
e9b567 |
@@ -4637,10 +4637,11 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn,
|
|
Open vSwitch CI |
e9b567 |
int argc, const char *argv[],
|
|
Open vSwitch CI |
e9b567 |
void *aux OVS_UNUSED)
|
|
Open vSwitch CI |
e9b567 |
{
|
|
Open vSwitch CI |
e9b567 |
- size_t size;
|
|
Open vSwitch CI |
e9b567 |
- FILE *stream;
|
|
Open vSwitch CI |
e9b567 |
- char *response = NULL;
|
|
Open vSwitch CI |
e9b567 |
struct netdev *netdev = NULL;
|
|
Open vSwitch CI |
e9b567 |
+ const char *error = NULL;
|
|
Open vSwitch CI |
e9b567 |
+ char *response = NULL;
|
|
Open vSwitch CI |
e9b567 |
+ FILE *stream;
|
|
Open vSwitch CI |
e9b567 |
+ size_t size;
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
if (argc == 2) {
|
|
Open vSwitch CI |
e9b567 |
netdev = netdev_from_name(argv[1]);
|
|
Open vSwitch CI |
e9b567 |
@@ -4664,10 +4665,14 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn,
|
|
Open vSwitch CI |
e9b567 |
ovs_mutex_lock(&dev->mutex);
|
|
Open vSwitch CI |
e9b567 |
ovs_mutex_lock(&dpdk_mp_mutex);
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
- rte_mempool_dump(stream, dev->dpdk_mp->mp);
|
|
Open vSwitch CI |
e9b567 |
- fprintf(stream, " count: avail (%u), in use (%u)\n",
|
|
Open vSwitch CI |
e9b567 |
- rte_mempool_avail_count(dev->dpdk_mp->mp),
|
|
Open vSwitch CI |
e9b567 |
- rte_mempool_in_use_count(dev->dpdk_mp->mp));
|
|
Open vSwitch CI |
e9b567 |
+ if (dev->dpdk_mp) {
|
|
Open vSwitch CI |
e9b567 |
+ rte_mempool_dump(stream, dev->dpdk_mp->mp);
|
|
Open vSwitch CI |
e9b567 |
+ fprintf(stream, " count: avail (%u), in use (%u)\n",
|
|
Open vSwitch CI |
e9b567 |
+ rte_mempool_avail_count(dev->dpdk_mp->mp),
|
|
Open vSwitch CI |
e9b567 |
+ rte_mempool_in_use_count(dev->dpdk_mp->mp));
|
|
Open vSwitch CI |
e9b567 |
+ } else {
|
|
Open vSwitch CI |
e9b567 |
+ error = "Not allocated";
|
|
Open vSwitch CI |
e9b567 |
+ }
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
ovs_mutex_unlock(&dpdk_mp_mutex);
|
|
Open vSwitch CI |
e9b567 |
ovs_mutex_unlock(&dev->mutex);
|
|
Open vSwitch CI |
e9b567 |
@@ -4679,7 +4684,11 @@ netdev_dpdk_get_mempool_info(struct unixctl_conn *conn,
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
fclose(stream);
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
- unixctl_command_reply(conn, response);
|
|
Open vSwitch CI |
e9b567 |
+ if (error) {
|
|
Open vSwitch CI |
e9b567 |
+ unixctl_command_reply_error(conn, error);
|
|
Open vSwitch CI |
e9b567 |
+ } else {
|
|
Open vSwitch CI |
e9b567 |
+ unixctl_command_reply(conn, response);
|
|
Open vSwitch CI |
e9b567 |
+ }
|
|
Open vSwitch CI |
e9b567 |
out:
|
|
Open vSwitch CI |
e9b567 |
free(response);
|
|
Open vSwitch CI |
e9b567 |
netdev_close(netdev);
|
|
Open vSwitch CI |
e9b567 |
diff --git a/ovsdb/transaction.c b/ovsdb/transaction.c
|
|
Open vSwitch CI |
e9b567 |
index 65eca64783..98fff1a744 100644
|
|
Open vSwitch CI |
e9b567 |
--- a/ovsdb/transaction.c
|
|
Open vSwitch CI |
e9b567 |
+++ b/ovsdb/transaction.c
|
|
Open vSwitch CI |
e9b567 |
@@ -1090,7 +1090,6 @@ ovsdb_txn_precommit(struct ovsdb_txn *txn)
|
|
Open vSwitch CI |
e9b567 |
* was really a no-op. */
|
|
Open vSwitch CI |
e9b567 |
error = for_each_txn_row(txn, determine_changes);
|
|
Open vSwitch CI |
e9b567 |
if (error) {
|
|
Open vSwitch CI |
e9b567 |
- ovsdb_txn_abort(txn);
|
|
Open vSwitch CI |
e9b567 |
return OVSDB_WRAP_BUG("can't happen", error);
|
|
Open vSwitch CI |
e9b567 |
}
|
|
Open vSwitch CI |
e9b567 |
if (ovs_list_is_empty(&txn->txn_tables)) {
|
|
Open vSwitch CI |
e9b567 |
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
|
|
Open vSwitch CI |
e9b567 |
index 1c97bf7772..e79c755657 100644
|
|
Open vSwitch CI |
e9b567 |
--- a/tests/system-dpdk.at
|
|
Open vSwitch CI |
e9b567 |
+++ b/tests/system-dpdk.at
|
|
Open vSwitch CI |
e9b567 |
@@ -88,6 +88,12 @@ ADD_VHOST_USER_CLIENT_PORT([br10], [dpdkvhostuserclient0], [$OVS_RUNDIR/dpdkvhos
|
|
Open vSwitch CI |
e9b567 |
AT_CHECK([ovs-vsctl show], [], [stdout])
|
|
Open vSwitch CI |
e9b567 |
sleep 2
|
|
Open vSwitch CI |
e9b567 |
|
|
Open vSwitch CI |
e9b567 |
+dnl Check that no mempool was allocated.
|
|
Open vSwitch CI |
e9b567 |
+AT_CHECK([ovs-appctl netdev-dpdk/get-mempool-info dpdkvhostuserclient0], [2], [], [dnl
|
|
Open vSwitch CI |
e9b567 |
+Not allocated
|
|
Open vSwitch CI |
e9b567 |
+ovs-appctl: ovs-vswitchd: server returned an error
|
|
Open vSwitch CI |
e9b567 |
+])
|
|
Open vSwitch CI |
e9b567 |
+
|
|
Open vSwitch CI |
e9b567 |
dnl Clean up
|
|
Open vSwitch CI |
e9b567 |
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
|
|
Open vSwitch CI |
e9b567 |
OVS_DPDK_STOP_VSWITCHD(["dnl
|