I am trying to run two independent clients that use F-Stack API (https://github.com/F-Stack/f-stack) to connect and make HTTP Requests to a server (that doesn’t use F-Stack).
For this experiment, I am using two AWS instances – one for the server, one for the two clients. I use default igb_uio driver for the F-Stack.
F-Stack is based on DPDK, which has --file-prefix
option to isolate the sharing of resources between processes, as stated in the documentation. F-Stack introduced the option in this commit
When using one F-Stack client, I obtain the expected behaviour. However, when the second client starts, the first one hangs and waits indefinetely for a message from the server.
I start the clients the following way:
./client --conf ../config_app1.ini --proc-type=primary --proc-id=0
./client --conf ../config_app2.ini --proc-type=primary --proc-id=0
The diff between config_app1.ini
and [default config](https://github.com/F-Stack/f-stack/blob/dev/config.ini] is the following:
< lcore_mask=2
---
> lcore_mask=1
15,17d14
< file_prefix=app1
77c74
< log_level=5
---
> # log_level=0
15,17d14
< file_prefix=app2
76c74
< log_level=5
---
> # log_level=0
I don’t see any DPDK or F-Stack logs about when the second client starts on any of the clients.
If I use the Linux POSIX API instead on F-Stack API, I obtain the expected behaviour.
I’ve tried disabling RSS hashing, as mentioned in this post, but it didn’t changed anything.
I’ve also tried to use the --no_shconf
from DPDK documentation, but it didn’t help.
Radu Nichita is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.