virtio_net: add gro capability
[cascardo/linux.git] / drivers / net / virtio_net.c
index 7fbca37..66f08f6 100644 (file)
@@ -518,7 +518,7 @@ static void receive_buf(struct virtnet_info *vi, struct receive_queue *rq,
 
        skb_mark_napi_id(skb, &rq->napi);
 
-       netif_receive_skb(skb);
+       napi_gro_receive(&rq->napi, skb);
        return;
 
 frame_err:
@@ -756,7 +756,7 @@ static int virtnet_poll(struct napi_struct *napi, int budget)
        /* Out of packets? */
        if (received < budget) {
                r = virtqueue_enable_cb_prepare(rq->vq);
-               napi_complete(napi);
+               napi_complete_done(napi, received);
                if (unlikely(virtqueue_poll(rq->vq, r)) &&
                    napi_schedule_prep(napi)) {
                        virtqueue_disable_cb(rq->vq);