Re: [PATCH v2 14/24] virtio_net: correct tags for config space fields

From: Cornelia Huck
Date: Tue Aug 04 2020 - 10:44:55 EST


On Mon, 3 Aug 2020 16:59:37 -0400
"Michael S. Tsirkin" <mst@xxxxxxxxxx> wrote:

> Tag config space fields as having virtio endian-ness.
>
> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
> ---
> include/uapi/linux/virtio_net.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h
> index 19d23e5baa4e..27d996f29dd1 100644
> --- a/include/uapi/linux/virtio_net.h
> +++ b/include/uapi/linux/virtio_net.h
> @@ -87,19 +87,19 @@ struct virtio_net_config {
> /* The config defining mac address (if VIRTIO_NET_F_MAC) */
> __u8 mac[ETH_ALEN];
> /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */
> - __u16 status;
> + __virtio16 status;
> /* Maximum number of each of transmit and receive queues;
> * see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ.
> * Legal values are between 1 and 0x8000
> */
> - __u16 max_virtqueue_pairs;
> + __virtio16 max_virtqueue_pairs;
> /* Default maximum transmit unit advice */
> - __u16 mtu;
> + __virtio16 mtu;
> /*
> * speed, in units of 1Mb. All values 0 to INT_MAX are legal.
> * Any other value stands for unknown.
> */
> - __u32 speed;
> + __virtio32 speed;

Hm... VIRTIO_NET_F_SPEED_DUPLEX can only be negotiated if VERSION_1 has
also been negotiated; I think this should be __le32?

> /*
> * 0x00 - half duplex
> * 0x01 - full duplex