#include <rte_bus_pci.h>
#include <rte_vhost.h>
#include <rte_vdpa.h>
+#include <rte_vdpa_dev.h>
#include <rte_vfio.h>
#include <rte_spinlock.h>
#include <rte_log.h>
#include "base/ifcvf.h"
+RTE_LOG_REGISTER(ifcvf_vdpa_logtype, pmd.net.ifcvf_vdpa, NOTICE);
#define DRV_LOG(level, fmt, args...) \
rte_log(RTE_LOG_ ## level, ifcvf_vdpa_logtype, \
"IFCVF %s(): " fmt "\n", __func__, ##args)
NULL
};
-static int ifcvf_vdpa_logtype;
-
struct ifcvf_internal {
struct rte_pci_device *pdev;
struct ifcvf_hw hw;
vdpa_ifcvf_stop(internal);
vdpa_disable_vfio_intr(internal);
- ret = rte_vhost_host_notifier_ctrl(vid, false);
+ ret = rte_vhost_host_notifier_ctrl(vid, RTE_VHOST_QUEUE_ALL, false);
if (ret && ret != -ENOTSUP)
goto error;
if (ret)
goto stop_vf;
- rte_vhost_host_notifier_ctrl(vid, true);
+ rte_vhost_host_notifier_ctrl(vid, RTE_VHOST_QUEUE_ALL, true);
internal->sw_fallback_running = true;
struct internal_list *list;
struct ifcvf_internal *internal;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
rte_atomic32_set(&internal->dev_attached, 1);
update_datapath(internal);
- if (rte_vhost_host_notifier_ctrl(vid, true) != 0)
+ if (rte_vhost_host_notifier_ctrl(vid, RTE_VHOST_QUEUE_ALL, true) != 0)
DRV_LOG(NOTICE, "vDPA (%s): software relay is used.",
vdev->device->name);
struct internal_list *list;
struct ifcvf_internal *internal;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
struct ifcvf_internal *internal;
uint64_t log_base = 0, log_size = 0;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
struct rte_vdpa_device *vdev;
struct internal_list *list;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
struct rte_vdpa_device *vdev;
struct internal_list *list;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
struct vfio_region_info reg = { .argsz = sizeof(reg) };
int ret;
- vdev = rte_vdpa_get_device(rte_vhost_get_vdpa_device_id(vid));
+ vdev = rte_vhost_get_vdpa_device(vid);
list = find_internal_resource_by_vdev(vdev);
if (list == NULL) {
DRV_LOG(ERR, "Invalid vDPA device: %p", vdev);
RTE_PMD_REGISTER_PCI(net_ifcvf, rte_ifcvf_vdpa);
RTE_PMD_REGISTER_PCI_TABLE(net_ifcvf, pci_id_ifcvf_map);
RTE_PMD_REGISTER_KMOD_DEP(net_ifcvf, "* vfio-pci");
-
-RTE_INIT(ifcvf_vdpa_init_log)
-{
- ifcvf_vdpa_logtype = rte_log_register("pmd.net.ifcvf_vdpa");
- if (ifcvf_vdpa_logtype >= 0)
- rte_log_set_level(ifcvf_vdpa_logtype, RTE_LOG_NOTICE);
-}