Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8981f010 authored by Herbert Xu's avatar Herbert Xu Committed by David S. Miller
Browse files

virtio_net: Fix IP alignment on non-mergeable RX path



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: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent adf76cfe
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -283,10 +283,11 @@ static void try_fill_recv_maxbufs(struct virtnet_info *vi)
	for (;;) {
	for (;;) {
		struct virtio_net_hdr *hdr;
		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))
		if (unlikely(!skb))
			break;
			break;


		skb_reserve(skb, NET_IP_ALIGN);
		skb_put(skb, MAX_PACKET_LEN);
		skb_put(skb, MAX_PACKET_LEN);


		hdr = skb_vnet_hdr(skb);
		hdr = skb_vnet_hdr(skb);