Re: [Qemu-devel] [QEMU PATCH v2] virtio-net: introduce a new macaddr control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 17, 2013 at 09:39:54AM +0100, Stefan Hajnoczi wrote:
> On Thu, Jan 17, 2013 at 01:45:11PM +0800, Amos Kong wrote:
> > On Thu, Jan 17, 2013 at 11:49:20AM +1030, Rusty Russell wrote:
> > > akong@xxxxxxxxxx writes:
> > > > @@ -349,6 +351,14 @@ static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd,
> > > >  {
> > > >      struct virtio_net_ctrl_mac mac_data;
> > > >  
> > > > +    if (cmd == VIRTIO_NET_CTRL_MAC_ADDR_SET && elem->out_num == 2 &&
> > > > +        elem->out_sg[1].iov_len == ETH_ALEN) {
> > > > +        /* Set MAC address */
> > > > +        memcpy(n->mac, elem->out_sg[1].iov_base, elem->out_sg[1].iov_len);
> > > > +        qemu_format_nic_info_str(&n->nic->nc, n->mac);
> > > > +        return VIRTIO_NET_OK;
> > > > +    }
> > > 
> > > Does the rest of the net device still rely on the layout of descriptors?
> > 
> > No, only info string of net client relies on n->mac
> 
> I think the question is whether the hw/virtio-net.c code makes
> assumptions about virtqueue descriptor layout (e.g. sg[0] is the header,
> sg[1] is the data buffer).
> 
> The answer is yes, the control virtqueue function directly accesses
> iov[n].
> 
> Additional patches would be required to convert the existing
> hw/virtio-net.c code to make no assumptions about virtqueue descriptor
> layout.  It's outside the scope of this series.
> 
> Stefan

It's not hard at all though - the harder part is data path
processing, this has been done already. Will send a
patch shortly.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux