[dpdk-dev] Sending & Receiving Packets

Wiles, Roger Keith keith.wiles at windriver.com
Mon Jun 24 07:03:11 CEST 2013


Hi Peter,

When DPDK is running on the server it takes control of the ports, which means the network stack that would answer a ping (ICMP Echo) would not be attached to the port any more. You would have to add code to DPDK as an application to receive the ICMP Echo packet and respond with a ICMP Reply packet. The other method would be to attach a network stack as the application to DPDK and use that network stack to receive and send packets.

Writing a simple DPDK application to receive packets off the ports and look for ICMP Echo request and to respond with a ICMP Echo reply is not that hard as I do that work in Pktgen. If you want to do more then just grab packets and determine if you need to send out a packet you would need to port some stack on top of DPDK like lwIP. You can this other ways, but it would take a bit more text to describe.

Have a look at Pktgen on GitHub and you can look at that code for a basic example.

Thank you, ++Keith
-------------------------------
Keith Wiles
Principal Technologist for Networking
cell 972-213-5533
Wind River Systems






On Jun 23, 2013, at 11:52 PM, Peter Chen <peter.feifan.chen at gmail.com<mailto:peter.feifan.chen at gmail.com>>
 wrote:

I was wondering how I can send/receive packets from my computer to my server which has dpdk running. Since what seems to happen is that dpdk binds to the ethernet device, what would be its IP address?

For example how would I send a ping from one computer to my server with dpdk binded to the NIC?

Would I send a packet with only MAC address and dpdk binded NIC would pick it up and move the packet up to dpdk and then to the user space? Just kind of confused how that works. I would be grateful for any help!

Peter

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://dpdk.org/ml/archives/dev/attachments/20130624/72b473bb/attachment.html>


More information about the dev mailing list