{
int ret;
char *socket_path = vport->ifname;
+ struct rte_vdpa_device *vdev;
int did = vport->did;
if (client_mode)
"register driver ops failed: %s\n",
socket_path);
- ret = rte_vhost_driver_attach_vdpa_device(socket_path, did);
+ vdev = rte_vdpa_get_device(did);
+ if (!vdev)
+ rte_exit(EXIT_FAILURE,
+ "vDPA device retrieval failed: %p\n",
+ vdev);
+
+ ret = rte_vhost_driver_attach_vdpa_device(socket_path, vdev);
if (ret != 0)
rte_exit(EXIT_FAILURE,
"attach vdpa device failed: %s\n",
vdev = rte_vdpa_get_device(did);
if (!vdev)
continue;
- if (vdev->ops->get_queue_num(did, &queue_num) < 0) {
+ if (vdev->ops->get_queue_num(vdev, &queue_num) < 0) {
RTE_LOG(ERR, VDPA,
"failed to get vdpa queue number "
"for device id %d.\n", did);
continue;
}
- if (vdev->ops->get_features(did, &features) < 0) {
+ if (vdev->ops->get_features(vdev, &features) < 0) {
RTE_LOG(ERR, VDPA,
"failed to get vdpa features "
"for device id %d.\n", did);