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: > > ak...@redhat.com 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 misunderstood. There is no clear limitation of how much descriptor are used for each vq command, but many commands rely on the layout of descriptiors. eg: virtio-net: VIRTIO_NET_CTRL_RX_PROMISC VIRTIO_NET_CTRL_RX_ALLMULTI VIRTIO_NET_CTRL_MAC_TABLE_SET etc > > If so, OK, we'll fix them all together. If not, this introduces a new > > one. > > > > Cheers, > > Rusty. _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization