OpenDataPlane / odp

The ODP project is an open-source, cross-platform set of application programming interfaces (APIs) for the networking data plane

Home Page:https://opendataplane.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Run ODP on a bare metal as Rx and send pakets from a Linux with netcat (UDP is ok)

votientu opened this issue · comments

Hi,
I tested the loopback example on my bare metal chip and saw a good performance. The configuration was :

bare metal chip running ODP + NIC + loopback cable

I would like to ask if it is possible to test ODP from an OS.
In this configuration, could I use netcat to send UDP packets to the chip and track the performance ?

bare metal chip running ODP + NIC + cable + NIC + x86 running Linux

Thanks !
Tien Tu

Hi,

I'm not sure I understood your setup. So are you able to run ODP linux-generic somehow completely without Linux OS? We have never attempted this.

Testing ODP with an external traffic generator should not be an issue. You can also use test/performance/odp_packet_gen application from the repo to generate test traffic.

Hi,

Yes, actually my colleague added an implementation of ODP on the chip with a customized DMA library, it can run ODP without Linux OS.

I am reading the test/performance/odp_packet_gen, so I think that the idea is to run it to generate the test traffic. Then, on the other side, I can use netcat to capture the traffic and measure the performance ? Does the netcat is an appropriate tool to receive the packet ? Sorry, I'm really new in the domain.

Hi,

Sorry for the slow reply, I was on vacation last week. Sounds like a really interesting project you have going. You are welcome to suggest changes to the upstream project (contributor agreement is required before we can merge changes).

The odp_packet_gen application can be used to both transmit and receive traffic. One interface generates test traffic and the second one receives it. So, you can simply connect the interfaces with a loopback cable. If you are generating test traffic externally you can use test/performance/odp_l2fwd application, which simply forwards packets between the interfaces (does not generate packets).

I'm not that familiar with netcat, but I'd assume it's mainly useful for debugging at slow packet rates.