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

Rusty Russell
2009-02-02T09:52:20Z

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 <rusty@rustcorp.com.au>