Subject: Re: [PATCH v3 2/4] virtio_net: Add a set_rx_mode interface

From: Rusty Russell <[email-masked]>
Date: Mon, 2 Feb 2009 20:22:20 +1030

On Monday 02 February 2009 06:35:15 Alex Williamson wrote:
> +	sg_set_buf(&sg, &promisc, sizeof(promisc));
> +
> +	if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX,
> +				  VIRTIO_NET_CTRL_RX_PROMISC,
> +				  &sg, 1, 0))

Hmm, can we use sg_init_one(&sg, &promisc, sizeof(promisc)) then pass two sg
to virtnet_send_command?  ie.  change virtnet_send_command to:

	static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd,
                                struct scatterlist *out, struct scatterlist *in);

NULL = no sg, otherwise it's assumed to be a nicely terminated sg?  Neater for
the callers I think...

> -#define VIRTIO_NET_MAX_CTRL_ARGS   2
> +#define VIRTIO_NET_MAX_CTRL_ARGS   3

Oh, and this should probably be called VIRTNET_SEND_COMMAND_SG_MAX, and be
this value minus 2 (ie. informative for the caller of virtnet_send_command).

Thanks,
Rusty.
PS.  Oh, this actual patch was fine: Acked-by: Rusty Russell <[email-masked]>