virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: thuth@linux.vnet.ibm.com, rusty@au1.ibm.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	dahi@linux.vnet.ibm.com, pbonzini@redhat.com,
	David Miller <davem@davemloft.net>
Subject: Re: [PATCH v6 34/46] virtio_net: disable mac write for virtio 1.0
Date: Sat, 29 Nov 2014 19:28:04 +0200	[thread overview]
Message-ID: <20141129172804.GD22746@redhat.com> (raw)
In-Reply-To: <1417164024.5822.11@smtp.corp.redhat.com>

On Fri, Nov 28, 2014 at 08:48:24AM +0008, Jason Wang wrote:
> 
> 
> On Fri, Nov 28, 2014 at 4:10 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> >The spec states that mac in config space is only driver-writable in the
> >legacy case.  Fence writing it in virtnet_set_mac_address() in the
> >virtio 1.0 case.
> >
> >Suggested-by: Cornelia Huck <cornelia.huck@de.ibm.com>
> >Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >---
> > drivers/net/virtio_net.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> >index c6a72d3..9ab3c50 100644
> >--- a/drivers/net/virtio_net.c
> >+++ b/drivers/net/virtio_net.c
> >@@ -1030,7 +1030,8 @@ static int virtnet_set_mac_address(struct net_device
> >*dev, void *p)
> > 				 "Failed to set mac address by vq command.\n");
> > 			return -EINVAL;
> > 		}
> >-	} else if (virtio_has_feature(vdev, VIRTIO_NET_F_MAC)) {
> >+	} else if (virtio_has_feature(vdev, VIRTIO_NET_F_MAC) &&
> >+		   !virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
> > 		unsigned int i;
> > 		/* Naturally, this has an atomicity problem. */
> >-- 
> >MST
> 
> Does this mean there's no way to setting mac addres
> if ctrl mac addr is disabled in virtio-1?

More exactly: no way for host to know the guest mac address.

> If yes, we'd better keep this compatibility somehow.

If host wants to be notified about guest mac updates,
it must enable the appropriate ctrl command.
Or if it's an old host, it just doesn't enable virtio-1.

There's no way around this - it's in the spec.


-- 
MST

      reply	other threads:[~2014-11-29 17:28 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1417118789-18231-1-git-send-email-mst@redhat.com>
2014-11-27 20:07 ` [PATCH v6 01/46] virtio: add low-level APIs for feature bits Michael S. Tsirkin
2014-11-28 10:02   ` Cornelia Huck
2014-11-29 17:30     ` Michael S. Tsirkin
2014-11-28 12:10   ` David Hildenbrand
2014-11-29 17:32     ` Michael S. Tsirkin
2014-11-27 20:07 ` [PATCH v6 02/46] virtio: use u32, not bitmap for features Michael S. Tsirkin
2014-11-28 12:44   ` Cornelia Huck
2014-11-29 17:34     ` Michael S. Tsirkin
2014-11-27 20:07 ` [PATCH v6 04/46] virtio: add support for 64 bit features Michael S. Tsirkin
2014-11-28  8:52   ` David Hildenbrand
2014-11-28 12:47   ` Cornelia Huck
2014-11-27 20:08 ` [PATCH v6 05/46] virtio: assert 32 bit features in transports Michael S. Tsirkin
2014-11-28  8:54   ` David Hildenbrand
2014-11-28 12:50   ` Cornelia Huck
2014-11-27 20:08 ` [PATCH v6 07/46] virtio: add virtio 1.0 feature bit Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 08/46] virtio: memory access APIs Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 09/46] virtio_ring: switch to new " Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 10/46] virtio_config: endian conversion for v1.0 Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 11/46] virtio: allow transports to get avail/used addresses Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 12/46] virtio: set FEATURES_OK Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 13/46] virtio: simplify feature bit handling Michael S. Tsirkin
2014-11-27 20:08 ` [PATCH v6 14/46] virtio: add legacy feature table support Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 15/46] virtio_net: v1.0 endianness Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 16/46] virtio_blk: v1.0 support Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 21/46] virtio_blk: make serial attribute static Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 22/46] virtio_blk: fix race at module removal Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 23/46] virtio_net: pass vi around Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 24/46] virtio_net: get rid of virtio_net_hdr/skb_vnet_hdr Michael S. Tsirkin
2014-11-27 20:09 ` [PATCH v6 25/46] virtio_net: stricter short buffer length checks Michael S. Tsirkin
2014-11-28  8:31   ` Jason Wang
2014-11-27 20:10 ` [PATCH v6 26/46] virtio_net: bigger header when VERSION_1 is set Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 27/46] virtio_net: enable v1.0 support Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 28/46] vhost: make features 64 bit Michael S. Tsirkin
2014-11-28  8:32   ` Jason Wang
2014-11-27 20:10 ` [PATCH v6 29/46] vhost: add memory access wrappers Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 30/46] vhost/net: force len for TX to host endian Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 31/46] vhost: virtio 1.0 endian-ness support Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 32/46] vhost/net: virtio 1.0 byte swap Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 33/46] vhost/net: larger header for virtio 1.0 Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 34/46] virtio_net: disable mac write " Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 35/46] vhost/net: enable " Michael S. Tsirkin
2014-11-27 20:10 ` [PATCH v6 36/46] vhost/net: suppress compiler warning Michael S. Tsirkin
2014-11-27 20:11 ` [PATCH v6 42/46] virtio_scsi: v1.0 support Michael S. Tsirkin
2014-11-27 20:11 ` [PATCH v6 44/46] virtio_scsi: export to userspace Michael S. Tsirkin
2014-11-27 20:11 ` [PATCH v6 45/46] vhost/scsi: partial virtio 1.0 support Michael S. Tsirkin
     [not found] ` <1417118789-18231-25-git-send-email-mst@redhat.com>
2014-11-28  8:30   ` [PATCH v6 24/46] virtio_net: get rid of virtio_net_hdr/skb_vnet_hdr Jason Wang
     [not found] ` <1417118789-18231-27-git-send-email-mst@redhat.com>
2014-11-28  8:31   ` [PATCH v6 26/46] virtio_net: bigger header when VERSION_1 is set Jason Wang
     [not found] ` <1417118789-18231-30-git-send-email-mst@redhat.com>
2014-11-28  8:35   ` [PATCH v6 29/46] vhost: add memory access wrappers Jason Wang
     [not found] ` <1417118789-18231-31-git-send-email-mst@redhat.com>
2014-11-28  8:36   ` [PATCH v6 30/46] vhost/net: force len for TX to host endian Jason Wang
     [not found] ` <1417118789-18231-34-git-send-email-mst@redhat.com>
2014-11-28  8:38   ` [PATCH v6 33/46] vhost/net: larger header for virtio 1.0 Jason Wang
     [not found] ` <1417118789-18231-35-git-send-email-mst@redhat.com>
2014-11-28  8:40   ` [PATCH v6 34/46] virtio_net: disable mac write " Jason Wang
2014-11-29 17:28     ` Michael S. Tsirkin [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=20141129172804.GD22746@redhat.com \
    --to=mst@redhat.com \
    --cc=dahi@linux.vnet.ibm.com \
    --cc=davem@davemloft.net \
    --cc=jasowang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rusty@au1.ibm.com \
    --cc=thuth@linux.vnet.ibm.com \
    --cc=virtualization@lists.linux-foundation.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;
as well as URLs for NNTP newsgroup(s).