All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark McLoughlin <markmc@redhat.com>
To: Alex Williamson <alex.williamson@hp.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>, kvm <kvm@vger.kernel.org>,
	netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH 2/4] virtio_net: Add a virtqueue for outbound control commands
Date: Wed, 14 Jan 2009 16:37:06 +0000	[thread overview]
Message-ID: <1231951026.4944.304.camel@localhost.localdomain> (raw)
In-Reply-To: <1231948868.7109.288.camel@lappy>

On Wed, 2009-01-14 at 09:01 -0700, Alex Williamson wrote:
> On Wed, 2009-01-14 at 10:15 +0000, Mark McLoughlin wrote:
> > On Tue, 2009-01-13 at 14:23 -0700, Alex Williamson wrote:

> > > +static int virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
> > > +				void *data, unsigned int len)
> > > +{
> > > +	struct scatterlist sg[3];
> > > +	struct {
> > > +		u8 class;
> > > +		u8 cmd;
> > > +	} ctrl_cmd;
> > 
> > I'd like to see this defined in virtio_net_hdr.
> 
> As part of struct virtio_net_hdr?  I'm not sure what that'd buy us and
> would likely break compatibility.  Or do you simply mean defined in
> virtio-net.h?

Yep, sorry, I meant virtio-net.h

> > > +	u8 ctrl_status;
> > > +	unsigned int tmp;
> > > +	int i = 0;
> > > +
> > > +	if (!vi->cvq)
> > > +		return -EFAULT;
> > 
> > BUG_ON() probably makes more sense here.
> 
> This is to allow a newer virtio_net guest driver to run on an old qemu.
> That's why I don't generate a fatal error if we don't find the control
> queue.  In that case the backend will be running in promiscuous mode and
> I think all of these commands can safely fail.  Thanks for the comments.

Yep, but what I mean is that virtio_net_send_command() should never be
called if the host doesn't have send queue support - i.e. force the
calling code to think about what should be done on older hosts.

Cheers,
Mark.


      reply	other threads:[~2009-01-14 16:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-13 21:23 [PATCH 2/4] virtio_net: Add a virtqueue for outbound control commands Alex Williamson
2009-01-14 10:15 ` Mark McLoughlin
2009-01-14 16:01   ` Alex Williamson
2009-01-14 16:37     ` Mark McLoughlin [this message]

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=1231951026.4944.304.camel@localhost.localdomain \
    --to=markmc@redhat.com \
    --cc=alex.williamson@hp.com \
    --cc=kvm@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    /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.