>> I finally got things working. I apparently missed an "ifconfig <dev> up" in >> the >> guest, before starting dpdk. I'm still confused why this would be needed. Is >> dpdk unable to do a full initialization of the virtual function from the >> guest? >> > You wouldn't be able to call ifconfig on your VF device if you have bound > your guest VF device to igb_uio driver. Have you bound your VF device to > igb_uio? Or you have enabled automatic port unbinding (which is disabled by > default in recent releases)?
The guest starts with loading the igbvf kernel driver, uses ifconfig <dev> up, then loads and binds to igb_uio. After that, DPDK works. If I skip any step here it doesn't work. Skipping "ifconfig" step resulted in packets being received but I couldn't send them, they just got queued up but was never sent. >> While I got one instance of DPDK running, I got a problem when starting two >> instances of DPDK running against different virtual functions. These virtual >> functions stems from the same physical interfaces. >> >> Starting them one or the other works fine. I have to adapt my static arp >> entries since they have different MAC addresses, but this is only expected. >> When starting them both however, I receive no packets. If one is running >> and currently processing packets, it will stop doing so the instance the >> second >> instance starts. >> > Are you referring to two different VM's each having a separate VF device, or > are you trying to run two primary processes on one VM with different VF > devices? It's the latter, i.e. two primary processes running DPDK on the same VM but different VF devices. The VF devices belongs to the same physical devices though. Regards Mats Liljegren