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