Tuesday 23 May 2017

DPDK_2

The Intel DPDK framework provides a list of library started as a Linux User Space program. An Intel DPDK program takes controls of 1 or more Cores.

An Intel DPDK program replaces the standard Intel Linux Ethernet driver by a Poll driver and it runs on the Cores as a single loop.

If more that 1 Cores are under the control of the DPDK framework, one of the Core is called the Master Core and the other the Slave Cores.
The Master Core is responsible to the initialisation as start-up time and is responsible to start the Slave Cores. After the start-up time, the Master Core and the Slave Cores are equivalent.

NIC 82599 Receive-side scaling (RSS) is a mechanism to distribute received packets into several descriptor queues. Intel DPDK assigns each queue to a different core’s, therefore sharing the load of packet processing among several processors.
Each Core is associated to one Tx and Rx queue on two NIC ports. Any Core can post the message to those queues. Each Core gets the incoming data from Rx Queue and forward the result to the target NIC through its Tx queue.

The TAP-0 interface mirrors the 10Gbps NIC 0. The TAP-0 interface is set with the 10Gbps NIC 0 Ethernet MAC address so the standard Linux can perform the standard ARP resolution.
The TAP-1 interface mirrors the 10Gbps NIC 1. The TAP-1 interface is set with the 10Gbps NIC 1 Ethernet MAC address so the standard Linux can perform the standard ARP resolution.

The TAP-0 and TAP-1 interface has no IP address. On top of each TAP interface, creates the VLANs that correspond to the different remote interfaces (MSCs, SGSNs, Femto). Each TAG VLAN is associated to a public IP address.

DPDK Applications Architectures



DPDK Core components architecure


Packet processing pipeline with QoS support

No comments:

Post a Comment