virtio-net: correctly xmit linearized page on XDP_TX
authorJason Wang <jasowang@redhat.com>
Fri, 23 Dec 2016 14:37:25 +0000 (22:37 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 23 Dec 2016 18:48:54 +0000 (13:48 -0500)
After we linearize page, we should xmit this page instead of the page
of first buffer which may lead unexpected result. With this patch, we
can see correct packet during XDP_TX.

Cc: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c

index 1067253..fe4562d 100644 (file)
@@ -572,7 +572,7 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
                if (unlikely(hdr->hdr.gso_type || hdr->hdr.flags))
                        goto err_xdp;
 
-               act = do_xdp_prog(vi, rq, xdp_prog, page, offset, len);
+               act = do_xdp_prog(vi, rq, xdp_prog, xdp_page, offset, len);
                switch (act) {
                case XDP_PASS:
                        if (unlikely(xdp_page != page))