static int ifcvf_vdpa_logtype;
struct ifcvf_internal {
- struct rte_vdpa_dev_addr dev_addr;
struct rte_pci_device *pdev;
struct ifcvf_hw hw;
int vfio_container_fd;
pthread_mutex_lock(&internal_list_lock);
TAILQ_FOREACH(list, &internal_list, next) {
- if (pdev == list->internal->pdev) {
+ if (!rte_pci_addr_cmp(&pdev->addr,
+ &list->internal->pdev->addr)) {
found = 1;
break;
}
(1ULL << VHOST_USER_F_PROTOCOL_FEATURES) |
(1ULL << VHOST_F_LOG_ALL);
- internal->dev_addr.pci_addr = pci_dev->addr;
- internal->dev_addr.type = VDPA_ADDR_PCI;
list->internal = internal;
if (rte_kvargs_count(kvlist, IFCVF_SW_FALLBACK_LM)) {
}
internal->sw_lm = sw_fallback_lm;
- internal->did = rte_vdpa_register_device(&internal->dev_addr,
- &ifcvf_ops);
+ internal->did = rte_vdpa_register_device(&pci_dev->device, &ifcvf_ops);
if (internal->did < 0) {
DRV_LOG(ERR, "failed to register device %s", pci_dev->name);
goto error;