From 97d6860b229e15c5d34931f6ca440adb32e600dc Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Thu, 19 Nov 2020 15:12:29 +0100 Subject: dpdk: remove dpdk_early_init We cannot disable dpdk plugin if hugepages are not present, as there are some valid uses cases where dpdk works unpriviledged without hugepages. Type: fix Change-Id: If67d8c941617ac0f16d496655d2bb6e489d34ad4 Signed-off-by: Damjan Marion --- src/plugins/dpdk/main.c | 52 ------------------------------------------------- 1 file changed, 52 deletions(-) (limited to 'src/plugins/dpdk/main.c') diff --git a/src/plugins/dpdk/main.c b/src/plugins/dpdk/main.c index ef93a224ef9..413a0f0df9d 100644 --- a/src/plugins/dpdk/main.c +++ b/src/plugins/dpdk/main.c @@ -96,61 +96,9 @@ VLIB_INIT_FUNCTION (dpdk_main_init) = { .runs_after = VLIB_INITS("dpdk_init"), }; -/* *INDENT-ON* */ - - -__clib_export clib_error_t * -dpdk_early_init (vlib_main_t *vm) -{ - int fd = -1; - u64 *pt = 0; - clib_error_t *err = 0; - - /* check if pagemap is accessible - if we get zero result - dpdk will not be able to get physical memory address and game is over - unless we have IOMMU */ - pt = clib_mem_vm_get_paddr (&pt, CLIB_MEM_PAGE_SZ_DEFAULT, 1); - if (pt && pt[0]) - goto check_hugetlb; - - if ((fd = open ("/dev/vfio/vfio", O_RDWR)) == -1) - goto error; - - if (ioctl (fd, VFIO_GET_API_VERSION) != VFIO_API_VERSION) - goto error; - - /* if we have type 1 IOMMU page map is not needed */ - if (ioctl (fd, VFIO_CHECK_EXTENSION, VFIO_TYPE1_IOMMU) != 1) - goto error; - -check_hugetlb: - fd = clib_mem_vm_create_fd (CLIB_MEM_PAGE_SZ_DEFAULT_HUGE, - "dpdk early init"); - if (fd != -1) - { - u8 *page = clib_mem_vm_map_shared (0, 1, fd, 0, "dpdk_early_init"); - if (page != CLIB_MEM_VM_MAP_FAILED) - { - clib_mem_vm_unmap (page); - goto done; - } - } - -error: - err = clib_error_return (0, "access to physical devices is not allowed"); - -done: - if (fd != -1) - close (fd); - vec_free (pt); - return err; -} - -/* *INDENT-OFF* */ VLIB_PLUGIN_REGISTER () = { .version = VPP_BUILD_VER, .description = "Data Plane Development Kit (DPDK)", - .early_init = "dpdk_early_init", }; /* *INDENT-ON* */ -- cgit 1.2.3-korg