> 3. The easiest solution - nop .receive()

The solution 3 is similar of my implementation and does not solve issue
pointed by Jason: legacy guest do not send a gratuitous ARP.

> 2. Fail negotiation when VIRTIO_NET_F_GUEST_ANNOUNCE is not accepted
> file:///home/stefanha/virtio/trunk/virtio-v1.0-cs02.html#x1-450001

Could you send me the virtio-v1.0-cs02.html#x1-450001 if you think it can
help me ?

Nevertheless it seems that only solution 1 can provide a solution to the
issue pointed by Jason.

On Mon, Jun 8, 2015 at 5:13 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote:

> On Mon, Jun 8, 2015 at 3:05 PM, Thibaut Collet <thibaut.col...@6wind.com>
> 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
>

Reply via email to