Commit 4a5c9903 authored by Yuval Shaia's avatar Yuval Shaia Committed by Marcel Apfelbaum
Browse files

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: default avatarYuval Shaia <yuval.shaia@oracle.com>
Reviewed-by: default avatarMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
Signed-off-by: default avatarMarcel Apfelbaum <marcel.apfelbaum@gmail.com>
parent 1625bb13
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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
-------------------------
+2 −1
Original line number Diff line number Diff line
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
+1 −0
Original line number Diff line number Diff line
@@ -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' }

qapi/rdma.json

0 → 100644
+38 −0
Original line number Diff line number Diff line
# -*- 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' } }