All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Venu Busireddy <venu.busireddy@oracle.com>,
	Marcel Apfelbaum <marcel@redhat.com>,
	virtio-dev@lists.oasis-open.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 3/4] Add "Group Identifier" support to Red Hat PCI bridge.
Date: Thu, 28 Jun 2018 09:25:32 +0100	[thread overview]
Message-ID: <20180628082532.GB17326@redhat.com> (raw)
In-Reply-To: <20180627065943-mutt-send-email-mst@kernel.org>

On Wed, Jun 27, 2018 at 07:02:36AM +0300, Michael S. Tsirkin wrote:
> On Tue, Jun 26, 2018 at 10:49:33PM -0500, Venu Busireddy wrote:
> > Add the "Vendor-Specific" capability to the Red Hat PCI bridge device
> > "pci-bridge", to contain the "Group Identifier" (UUID) that will be
> > used to pair a virtio device with the passthrough device attached to
> > that bridge.
> > 
> > This capability is added to the bridge iff the "uuid" option is specified
> > for the bridge.
> 
> I think the name should be more explicit. How about "failover-group-id"?
> 
> > 
> > Signed-off-by: Venu Busireddy <venu.busireddy@oracle.com>
> 
> I'd like to also tweak the device id in this case,
> to make it easier for guests to know it's a grouping bridge.

I tend to think this proposal is rather too narrow. The need to tell
the guest OS about the intended usage of devices is a pretty common use
case, of which setting up bonding NIC pair is just one example.

OpenStack already has this problem & took the approach of providing some
structured JSON metadata to the guest that lists all devices  (well NICs
and disks at least) with identifying metadata (eg PCI address, MAC addr,
disk serial and anything else relevant), and also assigns freeform string
"tags" against each.  eg the host admin could specify tags "lanA" and "lanB"
for two NICs, so the guest knows which NIC to use for which purpose. This
kind of tagging could easily cover setting up bonded pairs. Or for a disk
they could tag it  "oracledata" or "apachecache" to indicate what kind of
data to use on the disk, etc

  https://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/virt-device-role-tagging.html

I'm not suggesting the impl used in OpenStack is perfect - there's a number
of pain points in it, but I think it shows the need for a general solution
to the problem of the host admin informing the guest OS about the intended
usage of devices being provided. I think freeform string tags do this
pretty well. The key problem is how to expose such tags - openstack took
approach of an out of band JSON doc exposed from its metadata service and
or cloud init config drive, because that was its only viable option.

Perhaps there is a way to expose tags at a low level though if we can
integrate with QEMU somehow ?

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  parent reply	other threads:[~2018-06-28  8:25 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-27  3:49 [virtio-dev] [PATCH v2 0/4] Use of unique identifier for pairing virtio and passthrough devices Venu Busireddy
2018-06-27  3:49 ` [Qemu-devel] " Venu Busireddy
2018-06-27  3:49 ` [virtio-dev] [PATCH v2 1/4] Add a true or false option to the DEFINE_PROP_UUID macro Venu Busireddy
2018-06-27  3:49   ` [Qemu-devel] " Venu Busireddy
2018-06-27  3:49 ` [virtio-dev] [PATCH v2 2/4] Add "Group Identifier" support to virtio devices Venu Busireddy
2018-06-27  3:49   ` [Qemu-devel] " Venu Busireddy
2018-06-27  3:49 ` [virtio-dev] [PATCH v2 3/4] Add "Group Identifier" support to Red Hat PCI bridge Venu Busireddy
2018-06-27  3:49   ` [Qemu-devel] " Venu Busireddy
2018-06-27  4:02   ` [virtio-dev] " Michael S. Tsirkin
2018-06-27  4:02     ` [Qemu-devel] " Michael S. Tsirkin
2018-06-27  4:08     ` [virtio-dev] " Venu Busireddy
2018-06-27  4:08       ` [Qemu-devel] " Venu Busireddy
2018-06-27 23:07       ` Venu Busireddy
2018-06-27 23:07         ` [Qemu-devel] " Venu Busireddy
2018-06-28  2:14         ` Michael S. Tsirkin
2018-06-28  2:14           ` [Qemu-devel] " Michael S. Tsirkin
2018-06-28  3:46           ` Venu Busireddy
2018-06-28  3:46             ` [Qemu-devel] " Venu Busireddy
2018-06-28  8:10           ` Siwei Liu
2018-06-28  8:10             ` [Qemu-devel] " Siwei Liu
2018-06-28  8:25     ` Daniel P. Berrangé [this message]
2018-06-28 10:07       ` [virtio-dev] Retrieving configuration metadata from hypervisor (was: Re: [Qemu-devel] [PATCH v2 3/4] Add "Group Identifier" support to Red Hat PCI bridge.) Cornelia Huck
2018-06-28 10:07         ` [Qemu-devel] Retrieving configuration metadata from hypervisor (was: " Cornelia Huck
2018-06-27  3:49 ` [virtio-dev] [PATCH v2 4/4] Add "Group Identifier" support to Red Hat PCI Express bridge Venu Busireddy
2018-06-27  3:49   ` [Qemu-devel] " Venu Busireddy
2018-06-27  3:49 ` [virtio-dev] [PATCH v2 virtio 1/1] Add "Group Identifier" to virtio PCI capabilities Venu Busireddy
2018-06-27  3:49   ` [Qemu-devel] " Venu Busireddy
2018-06-27  4:06 ` [virtio-dev] Re: [PATCH v2 0/4] Use of unique identifier for pairing virtio and passthrough devices Michael S. Tsirkin
2018-06-27  4:06   ` [Qemu-devel] " Michael S. Tsirkin
2018-06-27  4:12   ` [virtio-dev] " Venu Busireddy
2018-06-27  4:12     ` [Qemu-devel] " Venu Busireddy
2018-06-27  7:21   ` Siwei Liu
2018-06-27  7:21     ` [Qemu-devel] " Siwei Liu
2018-06-27  8:17   ` Cornelia Huck
2018-06-27  8:17     ` [Qemu-devel] " Cornelia Huck
2018-06-27 12:24 ` [Qemu-devel] " Roman Kagan
2018-06-27 19:29   ` [virtio-dev] " Venu Busireddy
2018-06-27 19:29     ` Venu Busireddy
2018-06-27 19:47     ` [virtio-dev] " Michael S. Tsirkin
2018-06-27 19:47       ` Michael S. Tsirkin
2018-06-27 19:59       ` [virtio-dev] " Venu Busireddy
2018-06-27 19:59         ` Venu Busireddy
2018-06-27 20:12         ` [virtio-dev] " Michael S. Tsirkin
2018-06-27 20:12           ` Michael S. Tsirkin
2018-06-27 22:34           ` [virtio-dev] " Venu Busireddy
2018-06-27 22:34             ` Venu Busireddy
2018-06-28  1:54             ` [virtio-dev] " Michael S. Tsirkin
2018-06-28  1:54               ` Michael S. Tsirkin
2018-06-28  3:27               ` [virtio-dev] " Venu Busireddy
2018-06-28  3:27                 ` Venu Busireddy
2018-06-29 18:55                 ` [virtio-dev] " Venu Busireddy
2018-06-29 18:55                   ` [Qemu-devel] [virtio-dev] " Venu Busireddy
2018-06-29 21:59                   ` [virtio-dev] Re: [Qemu-devel] " Michael S. Tsirkin
2018-06-29 21:59                     ` [Qemu-devel] [virtio-dev] " Michael S. Tsirkin
2018-06-28 10:17     ` [Qemu-devel] " Roman Kagan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180628082532.GB17326@redhat.com \
    --to=berrange@redhat.com \
    --cc=marcel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=venu.busireddy@oracle.com \
    --cc=virtio-dev@lists.oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.