Hi Yuanhan, I want to apply a patch to vhost PMD. Before submitting, could you please let me know your guess about the patch?
Here is my problem. I am using below shared library configuration to build my application. CONFIG_RTE_BUILD_SHARED_LIB=y Normally, My application doesn't need vhost facilities, so librte_vhost isn't linked while compiling. Sometimes, I need to use vhost PMD, so I just want to add '-d librte_pmd_vhost.so' to DPDK command line to load vhost PMD library. But my application doesn't have librte_vhost, then I've got an error about it. Even if specify like "-d librte_vhost -d librte_pmd_vhost", I still have an error. Probably this is because above libraries will be dlopen(ed) with RTLD_LOCAL option. Here, I have 2 choices. One is linking librte_vhost to my application while compiling, even if I don't need it normally. This is the way all DPDK examples did. But I am wondering if I should follow this. Another way is applying a below patch. --- a/drivers/net/vhost/Makefile +++ b/drivers/net/vhost/Makefile @@ -38,6 +38,7 @@ LIB = librte_pmd_vhost.a CFLAGS += -O3 CFLAGS += $(WERROR_FLAGS) +LDLIBS += -lrte_vhost EXPORT_MAP := rte_pmd_vhost_version.map This is same way to link libpcap to librte_pmd_pcap. What do you think about adding it to vhost PMD? Thanks, Tetsuya