Message ID | 20181217081047.2039-11-yuval.shaia@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for RDMA MAD | expand |
On 12/17/18 2:10 AM, Yuval Shaia wrote: > 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. > > Depend on: "qapi: Reduce Makefile boilerplate" This line fits better... > > Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> > Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> > Acked-by: Markus Armbruster <armbru@redhat.com> > --- ...here, where it is useful to reviewers but stripped by 'git am'. Remember, the commit message that lives in qemu.git is what people will care about a year from now, and if the dependency was correctly satisfied (which is now guaranteed, as commit bf582c34 has now landed), then the fact that this commit is in git means its dependencies have already been satisfied. A year from now, no one will care about what the dependencies were in developing the patch. > +## > +# @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 Listing the type of each member here is redundant... > +{ 'event': 'RDMA_GID_STATUS_CHANGED', > + 'data': { 'netdev' : 'str', > + 'gid-status' : 'bool', because the docs generator should already be using the type from here to do that on your behalf.
On Mon, Dec 17, 2018 at 10:00:32AM -0600, Eric Blake wrote: > On 12/17/18 2:10 AM, Yuval Shaia wrote: > > 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. > > > > Depend on: "qapi: Reduce Makefile boilerplate" > > This line fits better... > > > > > Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> > > Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> > > Acked-by: Markus Armbruster <armbru@redhat.com> > > --- > > ...here, where it is useful to reviewers but stripped by 'git am'. Remember, > the commit message that lives in qemu.git is what people will care about a > year from now, and if the dependency was correctly satisfied (which is now > guaranteed, as commit bf582c34 has now landed), then the fact that this > commit is in git means its dependencies have already been satisfied. A year > from now, no one will care about what the dependencies were in developing > the patch. Thanks, will delete. > > > > +## > > +# @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 > > Listing the type of each member here is redundant... > > > +{ 'event': 'RDMA_GID_STATUS_CHANGED', > > + 'data': { 'netdev' : 'str', > > + 'gid-status' : 'bool', > > because the docs generator should already be using the type from here to do > that on your behalf. Thanks. > > -- > Eric Blake, Principal Software Engineer > Red Hat, Inc. +1-919-301-3266 > Virtualization: qemu.org | libvirt.org
diff --git a/MAINTAINERS b/MAINTAINERS index 7b68080094..525bcdcf41 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2335,6 +2335,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.objs b/Makefile.objs index 319f14d937..bc5b8a8442 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -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 diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index 65b6dc2f6f..3bbdfcee84 100644 --- a/qapi/qapi-schema.json +++ b/qapi/qapi-schema.json @@ -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' } diff --git a/qapi/rdma.json b/qapi/rdma.json new file mode 100644 index 0000000000..1ed0eec48b --- /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: 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' } }