The APIs for converting a virtual address to an IOVA or a physical address were implemented only as stubs on FreeBSD, but unfortunately they are used by drivers such as "igc", part of e1000, causing the drivers to fail on BSD. A workaround would be to change the use of these functions with the rte_malloc equivalents (e.g. rte_malloc_virt2iova) - which do work on FreeBSD - but a better solution is just to replace the stubs with proper implementations in FreeBSD-specific EAL flags.
Bruce Richardson (2): eal/freebsd: fix memseg addresses in IOVA_AS_VA mode eal/freebsd: implement virtual to IOVA translation fn app/test/test_memory.c | 67 ++++++++++++++++++++++++++++++++++++ lib/eal/freebsd/eal_memory.c | 27 +++++++++++---- 2 files changed, 88 insertions(+), 6 deletions(-) -- 2.53.0

