Thread (3 messages) flat view 3 messages, 2 authors, 2014-11-26

Re: [PATCH v4 21/42] virtio_net: get rid of virtio_net_hdr/skb_vnet_hdr

From: Cornelia Huck <hidden>
Date: 2014-11-26 12:51:05
Also in: lkml, virtualization

On Tue, 25 Nov 2014 18:42:53 +0200
"Michael S. Tsirkin" [off-list ref] wrote:
virtio 1.0 doesn't use virtio_net_hdr anymore, and in fact, it's not
really useful since virtio_net_hdr_mrg_rxbuf includes that as the first
field anyway.

Let's drop it, precalculate header len and store within vi instead.

This way we can also remove struct skb_vnet_hdr.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 drivers/net/virtio_net.c | 90 ++++++++++++++++++++++--------------------------
 1 file changed, 41 insertions(+), 49 deletions(-)
quoted hunk ↗ jump to hunk
@@ -260,13 +256,11 @@ static struct sk_buff *page_to_skb(struct virtnet_info *vi,

 	hdr = skb_vnet_hdr(skb);

-	if (vi->mergeable_rx_bufs) {
-		hdr_len = sizeof hdr->mhdr;
-		hdr_padded_len = sizeof hdr->mhdr;
-	} else {
-		hdr_len = sizeof hdr->hdr;
+	hdr_len = vi->hdr_len;
+	if (vi->mergeable_rx_bufs)
+		hdr_padded_len = sizeof *hdr;
sizeof without () looks weird to me.
+	else
 		hdr_padded_len = sizeof(struct padded_vnet_hdr);
-	}

 	memcpy(hdr, p, hdr_len);
Otherwise:

Reviewed-by: Cornelia Huck <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help