[dpdk-users] Multiple UDP ports Per NIC

Richard Nutman Richard.Nutman at s-a-m.com
Thu Jun 7 12:10:01 CEST 2018

Hi Kevin,

This is possible if you use the rte_flow system on NIC's that support it. In older versions of DPDK it was called the Flow Director.  This enables you to steer network streams to a particular receive queue, which can be processed on a particular cpu core.

See http://dpdk.org/doc/api/rte__flow_8h.html for more details;
Example; http://dpdk.org/doc/api/examples_2flow_filtering_2main_8c-example.html

Alternatively you can receive all packets on 1 or several cores (if you use something like RSS) and can sort and send to different cores if needs be.

Transmit works similar. Just set up multiple TX queues for each core you want to have active sending from.

Pay particular attention to which functions are thread-safe in DPDK, especially for packet pools.


> -----Original Message-----
> From: Kevin Kall [mailto:fishforish at gmail.com]
> Sent: 06 June 2018 15:30
> To: users at dpdk.org
> Subject: [dpdk-users] Multiple UDP ports Per NIC
> Hello,
> I am brand-new to DPDK (just found out about it) and have what is likely a
> simple/stupid question.
> Do your libraries/framework allow for different UDP/IP packet streams being
> received on a single NIC (different UDP ports) to be directed to/processed by
> separate CPU cores (as if each CPU core was opening a different UDP
> socket)?
> Same goes for transmit - can different CPU cores transmit on separate UDP
> ports on a single NIC?
> If so, can someone point me to an example?
> Thanks so much.
> Fish
This email has been scanned for email related threats and delivered safely by Mimecast.
For more information please visit http://www.mimecast.com

More information about the users mailing list