[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 10/23] json: Define new QMP message for pvrdma
From: |
Yuval Shaia |
Subject: |
[Qemu-devel] [PATCH v3 10/23] json: Define new QMP message for pvrdma |
Date: |
Tue, 13 Nov 2018 09:13:23 +0200 |
pvrdma requires that the same GID attached to it will be attached to the
backend device in the host.
A new QMP messages is defined so pvrdma device can broadcast any change
made to its GID table. This event is captured by libvirt which in turn
will update the GID table in the backend device.
Signed-off-by: Yuval Shaia <address@hidden>
Reviewed-by: Marcel Apfelbaum<address@hidden>
---
MAINTAINERS | 1 +
Makefile | 3 ++-
Makefile.objs | 4 ++++
qapi/qapi-schema.json | 1 +
qapi/rdma.json | 38 ++++++++++++++++++++++++++++++++++++++
5 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 qapi/rdma.json
diff --git a/MAINTAINERS b/MAINTAINERS
index e087d58ac6..a149f68a8f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2232,6 +2232,7 @@ F: hw/rdma/*
F: hw/rdma/vmw/*
F: docs/pvrdma.txt
F: contrib/rdmacm-mux/*
+F: qapi/rdma.json
Build and test automation
-------------------------
diff --git a/Makefile b/Makefile
index 94072776ff..db4ce60ee5 100644
--- a/Makefile
+++ b/Makefile
@@ -599,7 +599,8 @@ qapi-modules = $(SRC_PATH)/qapi/qapi-schema.json
$(SRC_PATH)/qapi/common.json \
$(SRC_PATH)/qapi/tpm.json \
$(SRC_PATH)/qapi/trace.json \
$(SRC_PATH)/qapi/transaction.json \
- $(SRC_PATH)/qapi/ui.json
+ $(SRC_PATH)/qapi/ui.json \
+ $(SRC_PATH)/qapi/rdma.json
qapi/qapi-builtin-types.c qapi/qapi-builtin-types.h \
qapi/qapi-types.c qapi/qapi-types.h \
diff --git a/Makefile.objs b/Makefile.objs
index cc7df3ad80..76d8028f2f 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -21,6 +21,7 @@ util-obj-y += qapi/qapi-types-tpm.o
util-obj-y += qapi/qapi-types-trace.o
util-obj-y += qapi/qapi-types-transaction.o
util-obj-y += qapi/qapi-types-ui.o
+util-obj-y += qapi/qapi-types-rdma.o
util-obj-y += qapi/qapi-builtin-visit.o
util-obj-y += qapi/qapi-visit.o
util-obj-y += qapi/qapi-visit-block-core.o
@@ -40,6 +41,7 @@ util-obj-y += qapi/qapi-visit-tpm.o
util-obj-y += qapi/qapi-visit-trace.o
util-obj-y += qapi/qapi-visit-transaction.o
util-obj-y += qapi/qapi-visit-ui.o
+util-obj-y += qapi/qapi-visit-rdma.o
util-obj-y += qapi/qapi-events.o
util-obj-y += qapi/qapi-events-block-core.o
util-obj-y += qapi/qapi-events-block.o
@@ -58,6 +60,7 @@ util-obj-y += qapi/qapi-events-tpm.o
util-obj-y += qapi/qapi-events-trace.o
util-obj-y += qapi/qapi-events-transaction.o
util-obj-y += qapi/qapi-events-ui.o
+util-obj-y += qapi/qapi-events-rdma.o
util-obj-y += qapi/qapi-introspect.o
chardev-obj-y = chardev/
@@ -155,6 +158,7 @@ common-obj-y += qapi/qapi-commands-tpm.o
common-obj-y += qapi/qapi-commands-trace.o
common-obj-y += qapi/qapi-commands-transaction.o
common-obj-y += qapi/qapi-commands-ui.o
+common-obj-y += qapi/qapi-commands-rdma.o
common-obj-y += qapi/qapi-introspect.o
common-obj-y += qmp.o hmp.o
endif
diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json
index 65b6dc2f6f..a650d80f83 100644
--- a/qapi/qapi-schema.json
+++ b/qapi/qapi-schema.json
@@ -94,3 +94,4 @@
{ 'include': 'trace.json' }
{ 'include': 'introspect.json' }
{ 'include': 'misc.json' }
+{ 'include': 'rdma.json' }
diff --git a/qapi/rdma.json b/qapi/rdma.json
new file mode 100644
index 0000000000..804c68ab36
--- /dev/null
+++ b/qapi/rdma.json
@@ -0,0 +1,38 @@
+# -*- Mode: Python -*-
+#
+
+##
+# = RDMA device
+##
+
+##
+# @RDMA_GID_STATUS_CHANGED:
+#
+# Emitted when guest driver adds/deletes GID to/from device
+#
+# @netdev: RoCE Network Device name - char *
+#
+# @gid-status: Add or delete indication - bool
+#
+# @subnet-prefix: Subnet Prefix - uint64
+#
+# @interface-id : Interface ID - uint64
+#
+# Since: 3.2
+#
+# Example:
+#
+# <- {"timestamp": {"seconds": 1541579657, "microseconds": 986760},
+# "event": "RDMA_GID_STATUS_CHANGED",
+# "data":
+# {"netdev": "bridge0",
+# "interface-id": 15880512517475447892,
+# "gid-status": true,
+# "subnet-prefix": 33022}}
+#
+##
+{ 'event': 'RDMA_GID_STATUS_CHANGED',
+ 'data': { 'netdev' : 'str',
+ 'gid-status' : 'bool',
+ 'subnet-prefix' : 'uint64',
+ 'interface-id' : 'uint64' } }
--
2.17.2
- [Qemu-devel] [PATCH v3 22/23] hw/rdma: Do not call rdma_backend_del_gid on an empty gid, (continued)
- [Qemu-devel] [PATCH v3 22/23] hw/rdma: Do not call rdma_backend_del_gid on an empty gid, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 00/23] Add support for RDMA MAD, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 23/23] docs: Update pvrdma device documentation, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 03/23] hw/rdma: Return qpn 1 if ibqp is NULL, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 05/23] hw/rdma: Add support for MAD packets, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 04/23] hw/rdma: Abort send-op if fail to create addr handler, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 07/23] hw/pvrdma: Make default pkey 0xFFFF, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 01/23] contrib/rdmacm-mux: Add implementation of RDMA User MAD multiplexer, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 02/23] hw/rdma: Add ability to force notification without re-arm, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 08/23] hw/pvrdma: Set the correct opcode for recv completion, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 10/23] json: Define new QMP message for pvrdma,
Yuval Shaia <=
- [Qemu-devel] [PATCH v3 09/23] hw/pvrdma: Set the correct opcode for send completion, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 06/23] hw/pvrdma: Make function reset_device return void, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 11/23] hw/pvrdma: Add support to allow guest to configure GID table, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 12/23] vmxnet3: Move some definitions to header file, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 13/23] hw/pvrdma: Make sure PCI function 0 is vmxnet3, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 15/23] hw/pvrdma: Make device state depend on Ethernet function state, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 16/23] hw/pvrdma: Fill all CQE fields, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 18/23] hw/rdma: Remove unneeded code that handles more that one port, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 14/23] hw/rdma: Initialize node_guid from vmxnet3 mac address, Yuval Shaia, 2018/11/13
- [Qemu-devel] [PATCH v3 19/23] vl: Introduce shutdown_notifiers, Yuval Shaia, 2018/11/13