Re: [RFC PATCH 1/4] drivers/net/virtio_net: Fixed vheader to use v1.

From: Michael S. Tsirkin
Date: Mon Nov 01 2021 - 04:40:36 EST


On Sun, Oct 31, 2021 at 06:59:56AM +0200, Andrew Melnychenko wrote:
> The header v1 provides additional info about RSS.
> Added changes to computing proper header length.
> In the next patches, the header may contain RSS hash info
> for the hash population.
>
> Signed-off-by: Andrew Melnychenko <andrew@xxxxxxxxxx>
> ---
> drivers/net/virtio_net.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 4ad25a8b0870..b72b21ac8ebd 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -240,13 +240,13 @@ struct virtnet_info {
> };
>
> struct padded_vnet_hdr {
> - struct virtio_net_hdr_mrg_rxbuf hdr;
> + struct virtio_net_hdr_v1_hash hdr;
> /*
> * hdr is in a separate sg buffer, and data sg buffer shares same page
> * with this header sg. This padding makes next sg 16 byte aligned
> * after the header.
> */
> - char padding[4];
> + char padding[12];
> };
>
> static bool is_xdp_frame(void *ptr)


This is not helpful as a separate patch, just reserving extra space.
better squash with the patches making use of the change.

> @@ -1636,7 +1636,7 @@ static int xmit_skb(struct send_queue *sq, struct sk_buff *skb)
> const unsigned char *dest = ((struct ethhdr *)skb->data)->h_dest;
> struct virtnet_info *vi = sq->vq->vdev->priv;
> int num_sg;
> - unsigned hdr_len = vi->hdr_len;
> + unsigned int hdr_len = vi->hdr_len;
> bool can_push;


if we want this, pls make it a separate patch.


>
> pr_debug("%s: xmit %p %pM\n", vi->dev->name, skb, dest);
> --
> 2.33.1