qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 4/6] virtio-net: expose virtio_net_supported_guest_offload


From: Hawkins Jiawei
Subject: Re: [PATCH v3 4/6] virtio-net: expose virtio_net_supported_guest_offloads()
Date: Fri, 2 Jun 2023 13:59:54 +0800

On 2023/6/1 22:37, Eugenio Perez Martin wrote:
> On Thu, Jun 1, 2023 at 3:49 PM Hawkins Jiawei <yin31149@gmail.com> wrote:
>>
>> To support restoring offloads state in vdpa, need to expose
>> the function virtio_net_supported_guest_offloads().
>> QEMU uses this function to get the guest supported offloads
>> and no needs to send the corresponding CVQ command if guest
>
> doesn't need to send?

I will correct it in the v4 patch.

>
>> enables all supported features.
>>
>
> Good! I'd add the same message as the next patch's comment, to signal
> it is because the device has already enabled by default:
>
> +         * According to VirtIO standard, "Upon feature negotiation
> +         * corresponding offload gets enabled to preserve
> +         * backward compatibility."
> +         * So we do not need to send this CVQ command if the guest
> +         * also enables all supported offloads.

I will add these messages in the v4 patch.

Thanks!


>
> Thanks!
>
>
>> Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
>> ---
>>   hw/net/virtio-net.c            | 2 +-
>>   include/hw/virtio/virtio-net.h | 1 +
>>   2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index 7b27dad6c4..7e8897a8bc 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -874,7 +874,7 @@ static uint64_t 
>> virtio_net_guest_offloads_by_features(uint32_t features)
>>       return guest_offloads_mask & features;
>>   }
>>
>> -static inline uint64_t virtio_net_supported_guest_offloads(const VirtIONet 
>> *n)
>> +uint64_t virtio_net_supported_guest_offloads(const VirtIONet *n)
>>   {
>>       VirtIODevice *vdev = VIRTIO_DEVICE(n);
>>       return virtio_net_guest_offloads_by_features(vdev->guest_features);
>> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
>> index ef234ffe7e..5f5dcb4572 100644
>> --- a/include/hw/virtio/virtio-net.h
>> +++ b/include/hw/virtio/virtio-net.h
>> @@ -227,5 +227,6 @@ size_t virtio_net_handle_ctrl_iov(VirtIODevice *vdev,
>>                                     unsigned out_num);
>>   void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>>                                      const char *type);
>> +uint64_t virtio_net_supported_guest_offloads(const VirtIONet *n);
>>
>>   #endif
>> --
>> 2.25.1
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]