qapi: Define new QMP message for pvrdma

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 <yuval.shaia@oracle.com>
Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
This commit is contained in:
Yuval Shaia 2018-12-21 16:40:24 +02:00 committed by Marcel Apfelbaum
parent 1625bb13da
commit 4a5c9903f3
4 changed files with 42 additions and 1 deletions

View file

@ -2413,6 +2413,7 @@ F: hw/rdma/*
F: hw/rdma/vmw/*
F: docs/pvrdma.txt
F: contrib/rdmacm-mux/*
F: qapi/rdma.json
Build and test automation
-------------------------

View file

@ -1,5 +1,6 @@
QAPI_MODULES = block-core block char common crypto introspect job migration
QAPI_MODULES += misc net rocker run-state sockets tpm trace transaction ui
QAPI_MODULES += misc net rdma rocker run-state sockets tpm trace transaction
QAPI_MODULES += ui
#######################################################################
# Common libraries for tools and emulators

View file

@ -86,6 +86,7 @@
{ 'include': 'char.json' }
{ 'include': 'job.json' }
{ 'include': 'net.json' }
{ 'include': 'rdma.json' }
{ 'include': 'rocker.json' }
{ 'include': 'tpm.json' }
{ 'include': 'ui.json' }

38
qapi/rdma.json Normal file
View file

@ -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
#
# @gid-status: Add or delete indication
#
# @subnet-prefix: Subnet Prefix
#
# @interface-id : Interface ID
#
# Since: 4.0
#
# 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' } }