Skip to content

aliabidzaidi/simple_dpdk_rx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Simple Rx Using DPDK

Simple rx packets on dpdk ports. Tested on DPDK Version 20.11-rc4

Program Structure

Uses a rte_ring between rx_packets() and process_packets(). Process packets starts on a different lcore, whereas rx_packets operates on main thread.

                                      LCORE                    LCORE
   ┌───────────────┐                   ┌───────┐             ┌───────────┐
   │               │     Enqueue       │       │             │           │
   │           Port├──────────────────►│       │             │           │
   │               │                   │       │             │           │
   │               │                   │ RTE   │   Dequeue   │           │
   │ NIC           │                   │  RING │◄────────────┤ Process   │
   │               │                   │       │             │  Packets  │
   │               │                   │       │             │           │
   │           Port├──────────────────►│       │             │           │
   │               │                   │       │             │           │
   └───────────────┘                   └───────┘             └───────────┘

To Build & Run

gcc simple_rx.c $(pkg-config --cflags --libs --static libdpdk) -g -o simple_rx
./simple_rx

Advanced compile flags

gcc simple_rx.c $(pkg-config --cflags --libs --static libdpdk) -O0 -g -g3 -ggdb -fvar-tracking -pg -o simple_rx
./simple_rx

TODO

  • Add Throughput on Rx ports / Total bandwidth

About

Simple DPDK Rx using rte_ring

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages