+ All Categories
Home > Documents > Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2...

Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2...

Date post: 26-Jul-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
10
1 © Nokia Solutions and Networks 2015 Platform Independent Packet Processing with ODP Tapio Tallgren Public
Transcript
Page 1: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

1 © Nokia Solutions and Networks 2015

Platform Independent Packet Processing withODP

Tapio TallgrenPublic

Page 2: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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?

Page 3: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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

Page 4: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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

Page 5: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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

Page 6: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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

Page 7: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

7 © Nokia Solutions and Networks 2015

● ODP implemented on netmap● odp_pktio_send function uses

send_pkt_netmap...

● See picture

Public

ODP-netmap

Page 8: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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

Page 9: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

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)

Page 10: Platform Independent Packet Processing with ODP...Results – ODP only 1 2 0 5 10 15 20 25 30 L2 forwarding packet rate ODP-Socket (Niantic) ODP-Netmap (Niantic) ODP-DPDK (Niantic)

Recommended