[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 04/10] vdpa: add vhost_vdpa_net_valid_svq_features
From: |
Eugenio Pérez |
Subject: |
[PATCH v6 04/10] vdpa: add vhost_vdpa_net_valid_svq_features |
Date: |
Tue, 8 Nov 2022 18:07:49 +0100 |
It will be reused at vdpa device start so let's extract in its own function
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
---
net/vhost-vdpa.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
index e370ecb8eb..d3b1de481b 100644
--- a/net/vhost-vdpa.c
+++ b/net/vhost-vdpa.c
@@ -106,6 +106,22 @@ VHostNetState *vhost_vdpa_get_vhost_net(NetClientState *nc)
return s->vhost_net;
}
+static bool vhost_vdpa_net_valid_svq_features(uint64_t features, Error **errp)
+{
+ uint64_t invalid_dev_features =
+ features & ~vdpa_svq_device_features &
+ /* Transport are all accepted at this point */
+ ~MAKE_64BIT_MASK(VIRTIO_TRANSPORT_F_START,
+ VIRTIO_TRANSPORT_F_END - VIRTIO_TRANSPORT_F_START);
+
+ if (invalid_dev_features) {
+ error_setg(errp, "vdpa svq does not work with features 0x%" PRIx64,
+ invalid_dev_features);
+ }
+
+ return !invalid_dev_features;
+}
+
static int vhost_vdpa_net_check_device_id(struct vhost_net *net)
{
uint32_t device_id;
@@ -675,15 +691,7 @@ int net_init_vhost_vdpa(const Netdev *netdev, const char
*name,
if (opts->x_svq) {
struct vhost_vdpa_iova_range iova_range;
- uint64_t invalid_dev_features =
- features & ~vdpa_svq_device_features &
- /* Transport are all accepted at this point */
- ~MAKE_64BIT_MASK(VIRTIO_TRANSPORT_F_START,
- VIRTIO_TRANSPORT_F_END -
VIRTIO_TRANSPORT_F_START);
-
- if (invalid_dev_features) {
- error_setg(errp, "vdpa svq does not work with features 0x%" PRIx64,
- invalid_dev_features);
+ if (!vhost_vdpa_net_valid_svq_features(features, errp)) {
goto err_svq;
}
--
2.31.1
- [PATCH v6 00/10] ASID support in vhost-vdpa net, Eugenio Pérez, 2022/11/08
- [PATCH v6 03/10] vhost: Allocate SVQ device file descriptors at device start, Eugenio Pérez, 2022/11/08
- [PATCH v6 04/10] vdpa: add vhost_vdpa_net_valid_svq_features,
Eugenio Pérez <=
- [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Eugenio Pérez, 2022/11/08
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Jason Wang, 2022/11/10
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Eugenio Perez Martin, 2022/11/10
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Jason Wang, 2022/11/11
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Eugenio Perez Martin, 2022/11/11
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Jason Wang, 2022/11/11
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Eugenio Perez Martin, 2022/11/11
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Jason Wang, 2022/11/14
- Re: [PATCH v6 05/10] vdpa: move SVQ vring features check to net/, Eugenio Perez Martin, 2022/11/14