63 lines
2.4 KiB
Diff
63 lines
2.4 KiB
Diff
|
From a32ab5c3f2156ab098e8914437f1aa00c095450e Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Eugenio=20P=C3=A9rez?= <eperezma@redhat.com>
|
||
|
Date: Tue, 23 Aug 2022 20:30:32 +0200
|
||
|
Subject: [PATCH 14/29] vdpa: add net_vhost_vdpa_cvq_info NetClientInfo
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
RH-Author: Laurent Vivier <lvivier@redhat.com>
|
||
|
RH-MergeRequest: 117: vDPA SVQ Multiqueue support
|
||
|
RH-Jira: RHELX-57
|
||
|
RH-Acked-by: Jason Wang <jasowang@redhat.com>
|
||
|
RH-Acked-by: Cindy Lu <lulu@redhat.com>
|
||
|
RH-Acked-by: Eugenio Pérez <eperezma@redhat.com>
|
||
|
RH-Commit: [14/25] 579b8389d759ae973552ade34369318e8c50aa90 (redhat/centos-stream/src/qemu-kvm)
|
||
|
|
||
|
Next patches will add a new info callback to restore NIC status through
|
||
|
CVQ. Since only the CVQ vhost device is needed, create it with a new
|
||
|
NetClientInfo.
|
||
|
|
||
|
Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
|
||
|
Acked-by: Jason Wang <jasowang@redhat.com>
|
||
|
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||
|
(cherry picked from commit f8972b56eeace10a410990f032406250abe18d64)
|
||
|
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
|
||
|
---
|
||
|
net/vhost-vdpa.c | 12 +++++++++++-
|
||
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
|
||
|
index a49e7e649d..1a597c2e92 100644
|
||
|
--- a/net/vhost-vdpa.c
|
||
|
+++ b/net/vhost-vdpa.c
|
||
|
@@ -334,6 +334,16 @@ static bool vhost_vdpa_net_cvq_map_elem(VhostVDPAState *s,
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
+static NetClientInfo net_vhost_vdpa_cvq_info = {
|
||
|
+ .type = NET_CLIENT_DRIVER_VHOST_VDPA,
|
||
|
+ .size = sizeof(VhostVDPAState),
|
||
|
+ .receive = vhost_vdpa_receive,
|
||
|
+ .cleanup = vhost_vdpa_cleanup,
|
||
|
+ .has_vnet_hdr = vhost_vdpa_has_vnet_hdr,
|
||
|
+ .has_ufo = vhost_vdpa_has_ufo,
|
||
|
+ .check_peer_type = vhost_vdpa_check_peer_type,
|
||
|
+};
|
||
|
+
|
||
|
/**
|
||
|
* Do not forward commands not supported by SVQ. Otherwise, the device could
|
||
|
* accept it and qemu would not know how to update the device model.
|
||
|
@@ -475,7 +485,7 @@ static NetClientState *net_vhost_vdpa_init(NetClientState *peer,
|
||
|
nc = qemu_new_net_client(&net_vhost_vdpa_info, peer, device,
|
||
|
name);
|
||
|
} else {
|
||
|
- nc = qemu_new_net_control_client(&net_vhost_vdpa_info, peer,
|
||
|
+ nc = qemu_new_net_control_client(&net_vhost_vdpa_cvq_info, peer,
|
||
|
device, name);
|
||
|
}
|
||
|
snprintf(nc->info_str, sizeof(nc->info_str), TYPE_VHOST_VDPA);
|
||
|
--
|
||
|
2.31.1
|
||
|
|