Hi.
I managed to get mTCP up and running. To accomplish that I did the following:
I updated DPDK and removed lcore_config usage
I removed dpdk-iface-kmod and moved the IP configuration to the config (via a monkey-patch with hardcode by now)
Changed all RX*THRESH and TX*THRESH to 0 because sfc_efx DPDK driver doesn't support them
Added rx_drop_en = 1 because, again, sfc_efx needs it
Changed RSS key size to 40 bytes
Then I wrote a simple ping-pong app that basically sends 4096 byte packets and receives them back.
HOWEVER, the result is sad. Ping-pong time is 16 MILLIseconds on a direct 10G connection (Intel X520 <> Solarflare SFN7122F), with 100% CPU usage.
I suspect there's a usleep(16000) but I can't easily tell where it is :-).
I see mTCP lacks NODELAY, maybe that's the cause, MTU configuration is also lacking.
No idea if you're watching issues here, but maybe... maybe you'll see this one :)
Anyway I'm probably going to try F-Stack because mTCP seems more like a toy project than a production-ready library...
Hi. I managed to get mTCP up and running. To accomplish that I did the following:
Then I wrote a simple ping-pong app that basically sends 4096 byte packets and receives them back. HOWEVER, the result is sad. Ping-pong time is 16 MILLIseconds on a direct 10G connection (Intel X520 <> Solarflare SFN7122F), with 100% CPU usage. I suspect there's a usleep(16000) but I can't easily tell where it is :-). I see mTCP lacks NODELAY, maybe that's the cause, MTU configuration is also lacking. No idea if you're watching issues here, but maybe... maybe you'll see this one :) Anyway I'm probably going to try F-Stack because mTCP seems more like a toy project than a production-ready library...