Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: Alvaro Karsz <alvaro.karsz@solid-run.com>,
	"virtio-comment@lists.oasis-open.org"
	<virtio-comment@lists.oasis-open.org>,
	"virtio-dev@lists.oasis-open.org"
	<virtio-dev@lists.oasis-open.org>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>
Subject: Re: [virtio-dev] Re: [PATCH v3] virtio-net: Mention VIRTIO_NET_F_HASH_REPORT dependency on VIRTIO_NET_F_CTRL_VQ
Date: Sun, 12 Feb 2023 04:38:45 -0500	[thread overview]
Message-ID: <20230212043611-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481B1B2F5648D78C618A92BDCDF9@PH0PR12MB5481.namprd12.prod.outlook.com>

On Sat, Feb 11, 2023 at 02:03:01PM +0000, Parav Pandit wrote:
> 
> 
> > From: Alvaro Karsz <alvaro.karsz@solid-run.com>
> > Sent: Saturday, February 11, 2023 4:13 AM
> 
> 
> > > Why cannot device say as MUST requirement?
> > >
> > > Let say there is a device out that exposes a F_HASH_REPORT without
> > F_CTRL_VQ.
> > > So driver tried to send a command and failed to issue cmd.
> > > End result, hash config was not successful.
> > > Did driver gain anything from seeing supplied hash in the config space?
> > > No. it just confused driver that device offered feature bit, could see the
> > supposed hash, but still couldn't configure it.
> > >
> > > So, I think the right fix is that device MUST NOT set F_HASH_REPORT without
> > F_CTRL_VQ.
> > >
> > > And driver should .. is fine, because existing driver that followed 1.2 will
> > negotiate, and device will also accept it if it offered without F_CTRL_VQ.
> > >
> > > Any new device that follows 1.3 will not offer F_HAS_REPORT without C_VQ,
> > hence it cannot be negotiated by driver without C_VQ.
> > >
> > > The gain is : device doesn't need to continue offering F_HASH_REPORT
> > without C_VQ. And I doubt if any device would have done it, as it was obvious.
> > > Just the spec was missed out.
> > >
> > > Is MUST/SHOULD big deal here for device? At least not to me, from practical
> > standpoint to me.
> > > Making must just makes the spec consistent with rest without breaking
> > backward compat.
> > 
> > The first version of this patch [1] actually used a bit requirement (which is
> > equivalent to a "MUST" if I understand correctly).
> > Then Michael pointed out that we can't do it since a version was published
> > without this requirement.
> > 
> > It's clear that the control VQ is required to use this feature.
> > In the linux kernel implementation probe will fail if a device offers
> > F_HASH_REPORT without F_CTRL_VQ.
> > 
> This is even better.
> > Ideally we'll add a "MUST", but since we can't, 
> Lets hear Michael's view, why MUST cannot be done.
> Based on our discussion here, I think MUST is possible and cleaner without breaking any existing sw or device.

1.2 is out without this requirement. Making this a MUST at this
point would declare such previously conformant devices non-conformant.
So I'm afraid our hands are tied.

It might be a good idea to start building out a charter documenting
all kind of compat hacks like this such that new devices are
not tempted to do the wrong thing. I am not sure how this
will look exactly though.


> > our options are to have a
> > "SHOULD", or not mention the dependency at all.
> > 
> > [1] https://lists.oasis-open.org/archives/virtio-comment/202302/msg00026.html


  reply	other threads:[~2023-02-12  9:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-06  8:02 [virtio-dev] [PATCH v3] virtio-net: Mention VIRTIO_NET_F_HASH_REPORT dependency on VIRTIO_NET_F_CTRL_VQ Alvaro Karsz
2023-02-06 22:02 ` [virtio-comment] " Parav Pandit
2023-02-07  7:54   ` Alvaro Karsz
2023-02-07 14:12   ` [virtio-comment] " Michael S. Tsirkin
2023-02-08 10:42     ` [virtio-dev] " Alvaro Karsz
2023-02-10 11:38 ` Alvaro Karsz
2023-02-10 18:42   ` [virtio-dev] " Parav Pandit
2023-02-11  9:12     ` Alvaro Karsz
2023-02-11 14:03       ` Parav Pandit
2023-02-12  9:38         ` Michael S. Tsirkin [this message]
2023-02-14  0:50           ` [virtio-comment] " Parav Pandit
2023-02-20 14:21 ` [virtio-dev] " Cornelia Huck
2023-02-20 14:25   ` Alvaro Karsz

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=20230212043611-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alvaro.karsz@solid-run.com \
    --cc=cohuck@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=parav@nvidia.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox