[dpdk-users] Can not forward the message in DPDK
tont at usi.ch
Wed May 24 17:50:53 CEST 2017
I am a newbie with DPDK. I am doing a small project as following.
I have three components such as client (one or many), one transporter and one server. The transporter and server are in DPDK. I use switch to connect three components together and add rule to forward the message between them. The message passing from client and transfer to transporter and then to server. The server receives the message , opens it and reads some information and responds to client and repeats again. One client sends a message to transporter and server. At the transporter, it only increases the id of message and then pass the message to the server. Only when receiving message from server, client just sends another one message. Besides, after one second, the client have not received the message from the server. It will send a new message to the transporter and server. The life cycle runs forever until i terminate the application.
Model: Client -> Transporter (DPDK) -> Server (DPDK)
My problem here is the client (for example 30 clients) sends a message to transporter. The transporter forwards message to server. But the server does not receive any message from the transporter.
I checked some information in my transporter, the server and also the switch device (port 30 is belong to the transporter, port 28 is belong to the server). I discovered that when the switch showed err = 2, over =2 in the port 30 of the transporter, the server have not received any message from the transporter (just my thinking, not sure). (You can see some below photos) Or I guessed that I did something wrong in the transporter’s code.
Besides, I also run some experiments with different the amount of clients in 15 seconds, sometimes the system works, sometimes not.
Have anyone met such case? Please help me to figure out where the error come from. I would be grateful for any help
I attach some photos of transporter, server, switch info and the transporter's code because maybe I was doing wrong about txbuffer or rte_mbuf.
Here are photo links
Transporter with 30 clients: http://imgur.com/a/dQ5ss <http://imgur.com/a/dQ5ss>
Server with 30 clients: http://imgur.com/a/WkhBR <http://imgur.com/a/WkhBR>
Switch with 30 clients: http://imgur.com/a/MEPPA <http://imgur.com/a/MEPPA>
I tested the case with 15 clients, one transporter, one server.
Transporter with 15 clients: http://imgur.com/a/VXHZb <http://imgur.com/a/VXHZb>
Server with 15 clients: http://imgur.com/a/ed4Pj <http://imgur.com/a/ed4Pj>
Transporter’s code: http://codepad.org/I4eDSll3 <http://codepad.org/I4eDSll3>
More information about the users