Upload
linaro
View
432
Download
0
Embed Size (px)
DESCRIPTION
LCU14 111- ODP Project Update --------------------------------------------------- Speaker: Bill Fischofer Date: September 15, 2014 --------------------------------------------------- ★ Session Summary ★ Update on the current status of ODP 1.0 --------------------------------------------------- ★ Resources ★ Zerista: http://lcu14.zerista.com/event/member/137714 Google Event: https://plus.google.com/u/0/events/cvqattmrl1jodoq68p7hb977l30 Video:https://www.youtube.com/watch?v=RU02hVQu2vU&list=UUIVqQKxCyQLJS6xvSmfndLA Etherpad: http://pad.linaro.org/p/lcu14-111 --------------------------------------------------- ★ Event Details ★ Linaro Connect USA - #LCU14 September 15-19th, 2014 Hyatt Regency San Francisco Airport --------------------------------------------------- http://www.linaro.org http://connect.linaro.org
Citation preview
LCU14 BURLINGAME
Bill Fischofer, Linaro Networking Group
LCU14-111: ODP Project Update
● Open source, open contribution framework for portable high-performance data plane applications
● Common APIs provide for application portability● Optimized implementations of these APIs provide accelerated
performance on each platform● Wide architecture support: ARM, MIPS, PowerPC, x86● Designed to offer portability without sacrificing performance,
allowing wide choice in platform selection to match application price/performance needs
OpenDataPlane - What Is It?
● LNG and its members are ODP maintainers and its upstream
● Open Source
● Open Contribution
● BSD License
ODP Project Organization
OpenDataPlane System Architecture
Design point: Multi-core network SoCs that can run Linux on at least one core
A framework, not an environment, allowing existing apps to add ODP incrementally
Multiple apps, shared or dedicated cores
A common framework
Leverages existing SDKs
Real or virtual HW
ODP: Designed to Support Existing AppsExisting Applications can add ODP functionality on an incremental basis
Apps still have access to platform SDKs if they wish
Apps can access HW directly if they wish (real or virtual)
ODP implementations leverage existing SDKs
ODP APIs● Common definitions, build tools, and validation tests● Open contribution, LNG is maintainer and upstream
ODP Implementations● Developed and maintained by sponsoring owner● Typically SoC vendor ● Integrated into ODP git repository or maintained separately at
owner’s option
ODP Components
Name Owner/Maintainer Target Platform Architecture
linux-generic Open contribution, maintained by LNG
Pure SW, runs on any Linux kernel. Not a performance target.
Any
linux-dpdk Open contribution, developed by LNG
Intel x86 using DPDK as SW acceleration layer Intel x86
linux-axxia Avago Technologies Avago Axxia SoCs ARM Cortex A15
linux-keystone2 Texas Instruments TI Keystone II SoCs ARM Cortex A15
ODP Implementations
Name Owner/Maintainer Target Platform Architecture
linux-octeon Cavium Networks Cavium Octeon SoCs MIPS64
linux-qoriq Freescale Freescale QorIQ SoCs PowerPC
linux-xgene Applied Micro APM X-Gene SoCs ARMv8
ODP Implementations (cont’d)
Additional implementations under development by others
ODP Design/Development MethodologyIterative: Multiple efficient implementations help refine architecture
Stable Release 1.0 when multiple efficient implementations validated for variety of different network SoCs.
ODP Project Statistics from Inception
Total Files 173
Total Lines of Code 47K(87K added, 40K removed)
Total Commits 328
Authors 26
Note: Does not include platform development work done outside of main ODP git repository
Data as of September 4, 2014
446 patches submitted to this project and 178 have been accepted upstream.
ODP Development: Recent Patch Metrics
ODP Project History
API Design/Doc Implementation Testing
Buffers Formal, finalizedComplete, but needs harmonizing with final design
Unit tests, verif needed
Classification Formal, complete Needs to be scheduled Needed
Crypto Formal, complete Complete, no changes anticipated Unit tests, verif needed
IPC Formal, in process In process Unit tests, verif needed
PktIO Formal, in processComplete, but needs harmonizing with final design
Unit tests, verif needed
ODP v1.0 API Features and Status
ODP v1.0 API Features and Status (cont’d)
API Design/Doc Implementation Testing
Queues Informal, in process Complete, will need some harmonizing Unit tests, verif needed
Scheduler Informal, in processComplete, but needs harmonizing with final design
Unit tests, verif needed
Shared Memory Informal, in process Complete, no changes anticipated Unit tests, verif needed
Synchronizers Informal, in process Complete, no changes anticipated Unit tests, verif needed
ODP v1.0 API Features and Status (cont’d)
API Design/Doc Implementation Testing
Threads Informal, in process Complete, no changes anticipated Unit tests, verif needed
Timers Formal, in processInitial implementation complete, redesign being upstreamed
In process
Visit opendataplane.org for information
Join the ODP mailing list: [email protected]
Participate in ODP project calls and meetings• Weekly call held Tuesdays at 15:00 UTC• Go to uberconference.com/opendataplane
Contribute Code/Tests/Documents/Bug Reports, etc.
Getting Involved
Wednesday● LCU14-310: Cisco ODP Presentation
Thursday ● LCU14-401: Isolation / no_hz upstreaming progress
Other ODP-Related Sessions of Interest
core-Isolated ODP L2FWD
ODP-L3 IPSEC Router
ODL controlling: ODP-OVS
ODP packet I/O on P4080DS
ODP-NETMAP on APM X-Gene
Cavium IPSec Application
ODP DAQ SNORT SUPPORT
ODP Demos at LNG Demo Thursday
For more information, visit:
Thank You
More about Linaro Connect: connect.linaro.org Linaro members: www.linaro.org/membersMore about Linaro: www.linaro.org/about/