On 06/09/2015 12:13 AM, Michael S. Tsirkin wrote:
> On Mon, Jun 08, 2015 at 04:13:59PM +0100, Stefan Hajnoczi 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
> 3 sounds good to me.
>

And looks like we can remove the

        s->nc.receive_disabled = 1;

in vhost-user.c in this case.

Reply via email to