|
From: | Thibaut Collet |
Subject: | Re: [Qemu-devel] [PATCH v2] net: Add support of VIRTIO_NET_F_GUEST_ANNOUNCE for vhost-net/vhost-user |
Date: | Mon, 8 Jun 2015 17:32:38 +0200 |
On Mon, Jun 8, 2015 at 3:05 PM, Thibaut Collet <address@hidden> wrote:
>> I think Jason is pointing out that your patch lacks support for guests
>> that do not negotiate VIRTIO_NET_F_GUEST_ANNOUNCE.
>
> I have understood the issue with old guest pointed by Jason.
> I have thinking about the best way to do solve it and any advices are
> welcome.
1. Add vhost-user virtio-net command to inject packets
Add a new VhostUserRequest VHOST_USER_NET_INJECT_PACKET allowing QEMU
to hand a packet to the vhost-user process for injection. This
command is virtio-net specific and fails if called on a different
device type.
2. Fail negotiation when VIRTIO_NET_F_GUEST_ANNOUNCE is not accepted
This is only really possible in VIRTIO 1.0 and later. Pre-1.0 does
not allow the device to reject due to disabled features.
file:///home/stefanha/virtio/trunk/virtio-v1.0-cs02.html#x1-450001
Therefore this is not a great solution.
3. The easiest solution - nop .receive()
Just implement a nop .receive() which drops the packet and prints a
warning message to stderr. This way VIRTIO_NET_F_GUEST_ANNOUNCE
guests work while legacy guests don't send a gratuitous ARP packet.
Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |