Platform Independent Packet Processing with ODL
Transcript of Platform Independent Packet Processing with ODL
1 © Nokia Solutions and Networks 2015
Platform Independent Packet Processing withODP
Tapio TallgrenPublic
2 © Nokia Solutions and Networks 2015
Open Source Code • Code available at
git.linaro.org
• Permissive BSD license
• Pre-built Debian packages
A Supported Open Source Project● All meetings and mailing lists
are open● Supported by >12 companies
Open API● Documented at
www.opendataplane.org/ap-documentation
• Proposed API changes are in a separate branch
Public
What is OpenDataPlane?
3 © Nokia Solutions and Networks 2015
● Supports system-on-chips● Supports standard high-
volume servers● Provides common
abstractions for data plane applications
● Vendors can have their own ODP library implementations
Public
ODP is data plane optimized
4 © Nokia Solutions and Networks 2015
● ARM, MIPS, PPC, x86,...● Makes best use of the hardware capabilities of the
different platforms
Public
ODP is hardware independent
5 © Nokia Solutions and Networks 2015
● Some Network Functions
– Run natively: PNFs– Some in a cloud: VNFs
● VNFs thrive on standard IT servers● PNFs need to be power and cost optimized
Public
ODP value for an equipment vendor: hardware independence
6 © Nokia Solutions and Networks 2015
● Allows fast user space packet processing without kernel involvement
● Out-of-tree open source Linux implementation ● Mainly developed for extremely fast traffic generators,
virtual switches etc ● http://info.iet.unipi.it/~luigi/netmap/
Public
Netmap
7 © Nokia Solutions and Networks 2015
● ODP implemented on netmap● odp_pktio_send function uses
send_pkt_netmap...
● See picture
Public
ODP-netmap
8 © Nokia Solutions and Networks 2015
● L2 forwarding test application● ODP L2fwd, on ODP tests● DPDK L2fwd on Native DPDK tests
● In practice the same functionality● receive a batch of packets from one interface and send those out to the other interface● Update Ethernet source address into the packet● Min packet size: 64 byte frames● DPDK application is a bit more optimized: collects packets into bursts on tx side
Public
Test setup
Results – ODP only
1 20
5
10
15
20
25
30
L2 forwarding packet rate
ODP-Socket (Niantic)ODP-Netmap (Niantic)ODP-DPDK (Niantic)ODP-DPDK (Fortville)
Number of cores and 10GE ports
Pack
et ra
te (M
pps)