[dpdk-users] Can not forward the message in DPDK
manoj_ws at yahoo.com
Fri May 26 11:49:27 CEST 2017
Thanks for the message to group and sharing the information. I also doing small scale project similar to this using DPDK forwarder app and as below scenario.
Client PC ----> DPDK forwarder ----> Internet
All connect via home router. I face same issue with client forwarding to DPDK app and to INTERNET and back. Still my objective not work, however I found below discussion will help to your scenario also.
May be you need to integrate user space TCP/IP stack like ANS.
I'm also exploring possibilities to my requirement discussed below:
Hope my comments useful to get some idea.
On Wed, 5/24/17, LOAN TON <tont at usi.ch> wrote:
Subject: [dpdk-users] Can not forward the message in DPDK
To: users at dpdk.org
Date: Wednesday, May 24, 2017, 7:50 PM
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
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