Re: [PATCH net] vsock/virtio: postpone packet delivery to monitoring devices

From: Stefan Hajnoczi
Date: Tue Apr 21 2020 - 11:42:58 EST


On Tue, Apr 21, 2020 at 11:25:27AM +0200, Stefano Garzarella wrote:
> We delivering packets to monitoring devices, before to check if
> the virtqueue has enough space.

"We [are] delivering packets" and "before to check" -> "before
checking". Perhaps it can be rewritten as:

Packets are delivered to monitoring devices before checking if the
virtqueue has enough space.

>
> If the virtqueue is full, the transmitting packet is queued up
> and it will be sent in the next iteration. This causes the same
> packet to be delivered multiple times to monitoring devices.
>
> This patch fixes this issue, postponing the packet delivery
> to monitoring devices, only when it is properly queued in the

s/,//

> virqueue.

s/virqueue/virtqueue/

> @@ -137,6 +135,11 @@ virtio_transport_send_pkt_work(struct work_struct *work)
> break;
> }
>
> + /* Deliver to monitoring devices all correctly transmitted
> + * packets.
> + */
> + virtio_transport_deliver_tap_pkt(pkt);
> +

The device may see the tx packet and therefore receive a reply to it
before we can call virtio_transport_deliver_tap_pkt(). Does this mean
that replies can now appear in the packet capture before the transmitted
packet?

Attachment: signature.asc
Description: PGP signature