Hi, I'm trying to run OVS-DPDK on Windows (building OVS binaries and statically link DPDK windows library), and it doesn't work due to rte_bus_scan() find no available devices. (However, when using dpdk-testpmd.exe, it finds the device successfully)
I realized that the PCI bus driver calls RTE_REGISTER_BUS to register itself, and it's a macro creating the businitfn_pci, and calls rte_bus_register. But somehow on my system, it does not invoke so actually the 'rte_bus_list' is empty. And I guess this is due to "constructor" function not working correctly when I static link DPDK. When linking DPDK using gcc, OVS passes the linker option '--whole-archive'. https://github.com/openvswitch/ovs/blob/master/acinclude.m4#L509 I tried adding -Wl,-force_load, or -Wl,/WHOLEARCHIVE at libdpdk.pc. So far I still couldn't get it to work. Any suggestions or comments are welcome! Thank you William