Hi Peter,

Pktgen can send the packets but they have to be configured correctly. DPDK has 
a couple of applications two are L2fwd and L3fwd. These two applications can 
forward L2 or L3 packets from one port to another. These applications will not 
answer an ARP request or PING packet, so you have to configure the applications 
correctly with the correct routing information have a look at the L3fwd 
application code and docs. If you are using a standard OS and not Pktgen or 
some type of traffic generator you must configure the sender machine system 
correctly.

In the L3fwd application you tell the application which IP address belongs to 
which port, think of the L3fwd application as a L3 router that you have to 
configure the route by hand correctly. Then on the sender machine you have to 
hardcode the ARP addresses in the arp cache to force the local OS not try a ARP 
request. Find out the MAC address of the two server ports and then do a 'arp' 
command on your sender machines that defines the correct IP address and MAC 
address of port. It is not too hard, but you do need to get the sender and 
L3fwd configured correctly. I have not given all of the details, but the DPDK 
docs should be able to help and understanding how a L3 router works is a big 
plus.

Note one area I find most do not understand is the packet leaving the sender 
machine must have the MAC address of the server port and the IP address of the 
machine you are trying to send the packet, then the L3fwd configuration needs 
to know the correct routes to the port with that subnet or IP address.

You should be able to find more detailed docs in the DPDK system. I hope you 
are able to get things working.

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






On Jun 24, 2013, at 12:21 AM, Peter Chen <peter.feifan.chen at 
gmail.com<mailto:peter.feifan.chen at gmail.com>>
 wrote:

Thanks for the reply, I understand that without the network stack, ping won't 
work. I am curious as to how I would even get a packet sent over since the port 
that DPDK has would not have an IP address nor will it be able to do ARP to get 
one. So how do I even send a packet over (e.g. ping would need some IP address 
to ping in the first place regardless of if there is a network stack on the 
other side to process a reply).

would PktGen be able to send packets over without an IP address?


On Sun, Jun 23, 2013 at 10:03 PM, Wiles, Roger Keith <keith.wiles at 
windriver.com<mailto:keith.wiles at windriver.com>> wrote:
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/5d1a8683/attachment.html>

Reply via email to