qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits
@ 2024-08-02  5:38 Akihiko Odaki
  2024-08-02  7:34 ` Yuri Benditovich
  2024-08-06  1:10 ` Jason Wang
  0 siblings, 2 replies; 4+ messages in thread
From: Akihiko Odaki @ 2024-08-02  5:38 UTC (permalink / raw)
  To: Michael S. Tsirkin, Stefano Garzarella, Jason Wang,
	Yuri Benditovich, Peter Xu, Daniel P. Berrangé, Thomas Huth,
	eduardo, marcel.apfelbaum, philmd, wangyanan55, dmitry.fleytman,
	sriram.yagnaraman, sw, yan, Fabiano Rosas
  Cc: qemu-devel, Akihiko Odaki

VIRTIO_NET_F_RSC_EXT is implemented in the rx data path, which vhost
implements, so vhost needs to support the feature if it is ever to be
enabled with vhost. The feature must be disabled otherwise.

Fixes: 2974e916df87 ("virtio-net: support RSC v4/v6 tcp traffic for Windows HCK")
Reported-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 hw/net/vhost_net.c | 2 ++
 net/vhost-vdpa.c   | 1 +
 2 files changed, 3 insertions(+)

diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index a788e6937e03..dedf9ad7c242 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net.c
@@ -50,6 +50,7 @@ static const int kernel_feature_bits[] = {
     VIRTIO_F_RING_RESET,
     VIRTIO_F_IN_ORDER,
     VIRTIO_F_NOTIFICATION_DATA,
+    VIRTIO_NET_F_RSC_EXT,
     VIRTIO_NET_F_HASH_REPORT,
     VHOST_INVALID_FEATURE_BIT
 };
@@ -81,6 +82,7 @@ static const int user_feature_bits[] = {
     VIRTIO_F_RING_RESET,
     VIRTIO_F_IN_ORDER,
     VIRTIO_NET_F_RSS,
+    VIRTIO_NET_F_RSC_EXT,
     VIRTIO_NET_F_HASH_REPORT,
     VIRTIO_NET_F_GUEST_USO4,
     VIRTIO_NET_F_GUEST_USO6,
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 03457ead663a..46b02c50be8c 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -88,6 +88,7 @@ const int vdpa_feature_bits[] = {
     VIRTIO_NET_F_MQ,
     VIRTIO_NET_F_MRG_RXBUF,
     VIRTIO_NET_F_MTU,
+    VIRTIO_NET_F_RSC_EXT,
     VIRTIO_NET_F_RSS,
     VIRTIO_NET_F_STATUS,
     VIRTIO_RING_F_EVENT_IDX,

---
base-commit: 31669121a01a14732f57c49400bc239cf9fd505f
change-id: 20240802-rsc-e90fb452bd7f

Best regards,
-- 
Akihiko Odaki <akihiko.odaki@daynix.com>



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits
  2024-08-02  5:38 [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits Akihiko Odaki
@ 2024-08-02  7:34 ` Yuri Benditovich
  2024-08-02 13:17   ` Michael S. Tsirkin
  2024-08-06  1:10 ` Jason Wang
  1 sibling, 1 reply; 4+ messages in thread
From: Yuri Benditovich @ 2024-08-02  7:34 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Michael S. Tsirkin, Stefano Garzarella, Jason Wang, Peter Xu,
	Daniel P. Berrangé, Thomas Huth, eduardo, marcel.apfelbaum,
	philmd, wangyanan55, dmitry.fleytman, sriram.yagnaraman, sw, yan,
	Fabiano Rosas, qemu-devel

At the moment kernel (vhost) and vhost user backends do not support
this feature (and IMO they do not need to)
In order to support it they need to implement a) coalescing of
segmented TCP packets and b) population of respective fields in
host-to-guest packets (number of coalesced segments and counter of
duplicated acks)
Just to remind - this feature is intended to be used without vhost and
without migration

Thanks
Yuri

On Fri, Aug 2, 2024 at 8:38 AM Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
>
> VIRTIO_NET_F_RSC_EXT is implemented in the rx data path, which vhost
> implements, so vhost needs to support the feature if it is ever to be
> enabled with vhost. The feature must be disabled otherwise.
>
> Fixes: 2974e916df87 ("virtio-net: support RSC v4/v6 tcp traffic for Windows HCK")
> Reported-by: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>  hw/net/vhost_net.c | 2 ++
>  net/vhost-vdpa.c   | 1 +
>  2 files changed, 3 insertions(+)
>
> diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
> index a788e6937e03..dedf9ad7c242 100644
> --- a/hw/net/vhost_net.c
> +++ b/hw/net/vhost_net.c
> @@ -50,6 +50,7 @@ static const int kernel_feature_bits[] = {
>      VIRTIO_F_RING_RESET,
>      VIRTIO_F_IN_ORDER,
>      VIRTIO_F_NOTIFICATION_DATA,
> +    VIRTIO_NET_F_RSC_EXT,
>      VIRTIO_NET_F_HASH_REPORT,
>      VHOST_INVALID_FEATURE_BIT
>  };
> @@ -81,6 +82,7 @@ static const int user_feature_bits[] = {
>      VIRTIO_F_RING_RESET,
>      VIRTIO_F_IN_ORDER,
>      VIRTIO_NET_F_RSS,
> +    VIRTIO_NET_F_RSC_EXT,
>      VIRTIO_NET_F_HASH_REPORT,
>      VIRTIO_NET_F_GUEST_USO4,
>      VIRTIO_NET_F_GUEST_USO6,
> diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
> index 03457ead663a..46b02c50be8c 100644
> --- a/net/vhost-vdpa.c
> +++ b/net/vhost-vdpa.c
> @@ -88,6 +88,7 @@ const int vdpa_feature_bits[] = {
>      VIRTIO_NET_F_MQ,
>      VIRTIO_NET_F_MRG_RXBUF,
>      VIRTIO_NET_F_MTU,
> +    VIRTIO_NET_F_RSC_EXT,
>      VIRTIO_NET_F_RSS,
>      VIRTIO_NET_F_STATUS,
>      VIRTIO_RING_F_EVENT_IDX,
>
> ---
> base-commit: 31669121a01a14732f57c49400bc239cf9fd505f
> change-id: 20240802-rsc-e90fb452bd7f
>
> Best regards,
> --
> Akihiko Odaki <akihiko.odaki@daynix.com>
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits
  2024-08-02  7:34 ` Yuri Benditovich
@ 2024-08-02 13:17   ` Michael S. Tsirkin
  0 siblings, 0 replies; 4+ messages in thread
From: Michael S. Tsirkin @ 2024-08-02 13:17 UTC (permalink / raw)
  To: Yuri Benditovich
  Cc: Akihiko Odaki, Stefano Garzarella, Jason Wang, Peter Xu,
	Daniel P. Berrangé, Thomas Huth, eduardo, marcel.apfelbaum,
	philmd, wangyanan55, dmitry.fleytman, sriram.yagnaraman, sw, yan,
	Fabiano Rosas, qemu-devel

On Fri, Aug 02, 2024 at 10:34:37AM +0300, Yuri Benditovich wrote:
> At the moment kernel (vhost) and vhost user backends do not support
> this feature (and IMO they do not need to)
> In order to support it they need to implement a) coalescing of
> segmented TCP packets and b) population of respective fields in
> host-to-guest packets (number of coalesced segments and counter of
> duplicated acks)
> Just to remind - this feature is intended to be used without vhost and
> without migration
> 
> Thanks
> Yuri

it is off ny default so no big deal ...
if it's incompatiblr with vhost/migration I guess it is a good idea
to make sure users do not enable it like this.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits
  2024-08-02  5:38 [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits Akihiko Odaki
  2024-08-02  7:34 ` Yuri Benditovich
@ 2024-08-06  1:10 ` Jason Wang
  1 sibling, 0 replies; 4+ messages in thread
From: Jason Wang @ 2024-08-06  1:10 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Michael S. Tsirkin, Stefano Garzarella, Yuri Benditovich,
	Peter Xu, Daniel P. Berrangé, Thomas Huth, eduardo,
	marcel.apfelbaum, philmd, wangyanan55, dmitry.fleytman,
	sriram.yagnaraman, sw, yan, Fabiano Rosas, qemu-devel

On Fri, Aug 2, 2024 at 1:38 PM Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
>
> VIRTIO_NET_F_RSC_EXT is implemented in the rx data path, which vhost
> implements, so vhost needs to support the feature if it is ever to be
> enabled with vhost. The feature must be disabled otherwise.
>
> Fixes: 2974e916df87 ("virtio-net: support RSC v4/v6 tcp traffic for Windows HCK")
> Reported-by: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---

Acked-by: Jason Wang <jasowang@redhat.com>

Thanks



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-08-06  1:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-02  5:38 [PATCH] vhost: Add VIRTIO_NET_F_RSC_EXT to vhost feature bits Akihiko Odaki
2024-08-02  7:34 ` Yuri Benditovich
2024-08-02 13:17   ` Michael S. Tsirkin
2024-08-06  1:10 ` Jason Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).