[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200906120829.23999.rusty@rustcorp.com.au>
Date: Fri, 12 Jun 2009 08:29:22 +0930
From: Rusty Russell <rusty@...tcorp.com.au>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: Sridhar Samudrala <sri@...ibm.com>,
Mark McLoughlin <markmc@...hat.com>,
Danielius Kudinskas <kudinskas@...ibm.com>,
aliguori@...ux.vnet.ibm.com, Paul T Knowles <pablo@...ibm.com>,
netdev@...r.kernel.org
Subject: [PATCH] virtio_net: Fix IP alignment on non-mergeable RX path
From: Herbert Xu <herbert@...dor.apana.org.au>
We need to enforce the IP alignment on the non-mergeable RX path just
like the other RX path. Not doing so results in misaligned IP
headers.
Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
Signed-off-by: Rusty Russell <rusty@...tcorp.com.au>
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 4d1d479..52fba8e 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -283,10 +283,11 @@ static void try_fill_recv_maxbufs(struct virtnet_info *vi)
for (;;) {
struct virtio_net_hdr *hdr;
- skb = netdev_alloc_skb(vi->dev, MAX_PACKET_LEN);
+ skb = netdev_alloc_skb(vi->dev, MAX_PACKET_LEN + NET_IP_ALIGN);
if (unlikely(!skb))
break;
+ skb_reserve(skb, NET_IP_ALIGN);
skb_put(skb, MAX_PACKET_LEN);
hdr = skb_vnet_hdr(skb);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists