[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/83] vdpa: Add SetSteeringEBPF method for NetClientState
|
From: |
Michael S. Tsirkin |
|
Subject: |
[PULL 10/83] vdpa: Add SetSteeringEBPF method for NetClientState |
|
Date: |
Wed, 18 Oct 2023 11:53:54 -0400 |
From: Hawkins Jiawei <yin31149@gmail.com>
At present, to enable the VIRTIO_NET_F_RSS feature, eBPF must
be loaded for the vhost backend.
Given that vhost-vdpa is one of the vhost backend, we need to
implement the SetSteeringEBPF method to support RSS for vhost-vdpa,
even if vhost-vdpa calculates the rss hash in the hardware device
instead of in the kernel by eBPF.
Although this requires QEMU to be compiled with `--enable-bpf`
configuration even if the vdpa device does not use eBPF to
calculate the rss hash, this can avoid adding the specific
conditional statements for vDPA case to enable the VIRTIO_NET_F_RSS
feature, which reduces code maintainbility.
Suggested-by: Eugenio Pérez <eperezma@redhat.com>
Signed-off-by: Hawkins Jiawei <yin31149@gmail.com>
Message-Id:
<30509e3c3b07bcadd95d5932aeb16820cb022902.1693299194.git.yin31149@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
net/vhost-vdpa.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index 66afa34237..ef48b6e816 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -241,6 +241,12 @@ static void vhost_vdpa_cleanup(NetClientState *nc)
}
}
+/** Dummy SetSteeringEBPF to support RSS for vhost-vdpa backend */
+static bool vhost_vdpa_set_steering_ebpf(NetClientState *nc, int prog_fd)
+{
+ return true;
+}
+
static bool vhost_vdpa_has_vnet_hdr(NetClientState *nc)
{
assert(nc->info->type == NET_CLIENT_DRIVER_VHOST_VDPA);
@@ -422,6 +428,7 @@ static NetClientInfo net_vhost_vdpa_info = {
.has_vnet_hdr = vhost_vdpa_has_vnet_hdr,
.has_ufo = vhost_vdpa_has_ufo,
.check_peer_type = vhost_vdpa_check_peer_type,
+ .set_steering_ebpf = vhost_vdpa_set_steering_ebpf,
};
static int64_t vhost_vdpa_get_vring_group(int device_fd, unsigned vq_index,
@@ -1257,6 +1264,7 @@ static NetClientInfo net_vhost_vdpa_cvq_info = {
.has_vnet_hdr = vhost_vdpa_has_vnet_hdr,
.has_ufo = vhost_vdpa_has_ufo,
.check_peer_type = vhost_vdpa_check_peer_type,
+ .set_steering_ebpf = vhost_vdpa_set_steering_ebpf,
};
/*
--
MST
- [PULL 04/83] vdpa: Move vhost_svq_poll() to the caller of vhost_vdpa_net_cvq_add(), (continued)
- [PULL 04/83] vdpa: Move vhost_svq_poll() to the caller of vhost_vdpa_net_cvq_add(), Michael S. Tsirkin, 2023/10/18
- [PULL 05/83] vdpa: Introduce cursors to vhost_vdpa_net_loadx(), Michael S. Tsirkin, 2023/10/18
- [PULL 02/83] vdpa: Avoid using vhost_vdpa_net_load_*() outside vhost_vdpa_net_load(), Michael S. Tsirkin, 2023/10/18
- [PULL 06/83] vhost: Expose vhost_svq_available_slots(), Michael S. Tsirkin, 2023/10/18
- [PULL 07/83] vdpa: Send cvq state load commands in parallel, Michael S. Tsirkin, 2023/10/18
- [PULL 08/83] vdpa: Restore hash calculation state, Michael S. Tsirkin, 2023/10/18
- [PULL 10/83] vdpa: Add SetSteeringEBPF method for NetClientState,
Michael S. Tsirkin <=
- [PULL 11/83] vdpa: Restore receive-side scaling state, Michael S. Tsirkin, 2023/10/18
- [PULL 09/83] vdpa: Allow VIRTIO_NET_F_HASH_REPORT in SVQ, Michael S. Tsirkin, 2023/10/18
- [PULL 12/83] vdpa: Allow VIRTIO_NET_F_RSS in SVQ, Michael S. Tsirkin, 2023/10/18
- [PULL 13/83] tests: test-smp-parse: Add the test for cores/threads per socket helpers, Michael S. Tsirkin, 2023/10/18
- [PULL 14/83] tests: bios-tables-test: Prepare the ACPI table change for smbios type4 count test, Michael S. Tsirkin, 2023/10/18
- [PULL 16/83] tests: bios-tables-test: Add ACPI table binaries for smbios type4 count test, Michael S. Tsirkin, 2023/10/18
- [PULL 17/83] tests: bios-tables-test: Prepare the ACPI table change for smbios type4 core count test, Michael S. Tsirkin, 2023/10/18
- [PULL 15/83] tests: bios-tables-test: Add test for smbios type4 count, Michael S. Tsirkin, 2023/10/18
- [PULL 18/83] tests: bios-tables-test: Add test for smbios type4 core count, Michael S. Tsirkin, 2023/10/18
- [PULL 20/83] tests: bios-tables-test: Prepare the ACPI table change for smbios type4 core count2 test, Michael S. Tsirkin, 2023/10/18