South-bound Interface for Programmable Data-plane Panel
Transcript of South-bound Interface for Programmable Data-plane Panel
![Page 1: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/1.jpg)
www.opendaylight.org
South-bound Interface
for Programmable
Data-plane Panel
fd.ioOpenSwitchP4POF
![Page 2: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/2.jpg)
www.opendaylight.org
Panelists:
Haoyu Song, Huawei
Jan Medved, Cisco
Michael Zayats, HPE
Prem Jonnalagadda, Barefoot Networks
Moderator:
Anu Mercian, HPE
2
![Page 3: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/3.jpg)
www.opendaylight.org
Introduction to the technologies
Programmable data plane in OpenDayLight
Integration efforts in SDN controllers for
programmable data planes
Use cases in general
Key points
3
![Page 4: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/4.jpg)
www.opendaylight.org
Fd.io – fast-data input/outputwebpage: https://fd.io/
OpenSwitch – Network Operating Systemwebpage: http://www.openswitch.net/
P4 – Programming Protocol-independent
Packet Processorswebpage: http://p4.org/
POF – Protocol-Oblivious Forwardingwebpage: http://www.poforwarding.org/
Data-Programmability
4
![Page 5: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/5.jpg)
www.opendaylight.org
Beryllium Release
5
![Page 6: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/6.jpg)
www.opendaylight.org
Thank you
6
![Page 7: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/7.jpg)
OpenSwitchMichael Zayats
Home
![Page 8: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/8.jpg)
Motivation for a New NOS
• Open and community driven
• Support common network use-cases - HA, L2, L3, OpenFlow,…
• Consistent configuration, monitoring, troubleshooting
• Declarative, programmatic interfaces (REST/OVSDB) and CLI / GUI
![Page 9: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/9.jpg)
Open Community Enablement
• Active mailing list with an average of 25 mails per day
• Weekly + frequent on-demand IRC chats
• All code/design reviews are public using Gerrit
• New code is mostly Apache 2.0, hosted on git.openswitch.net and mirrored
to GitHub
• Defined releases and schedules
• Yocto for image building and development environment
• Advanced virtual/physical test framework
![Page 10: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/10.jpg)
Corporate Participants
![Page 11: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/11.jpg)
Architectural View
OV
SDB
-se
rve
r
Management daemonsCLI, Rest,Chef,…
Kernel
Virtual L2/3 interfaces
System daemonssysd, intfd, vland,…
L2/3 protocol daemonsbgpd, lldpd, lacpd,…
Openflow controllers
ASIC kernel SDKI2C and other drivers
Derivation of ovs-vswitchd DB and Openflow layers
ASIC specific driver
ASIC user space SDK
ops-switchd
HW Support Daemonstempd, fand, powerd, pmd, …
RFC 7047 protocol for integrations
Single OpenSwitch Instance
Monitoring daemonspmacct, hsflowd,broadview…
sFlow collectors
OPS code
OPS adapted
External code
Mgmt systems
Collectors
Legend
![Page 12: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/12.jpg)
Current Status
• Almost all the basics are in place – vlans, lags, routing, ECMP, BGP, OSPF, sFlow, NTP, DHCP, SVI, CLI, REST etc.
• ACLs, QoS, mirroring, MSTP and many others are coming in the next couple of months.
• Broadcom Trident II is supported (Accton 5712/6712), Tomahawk (Accton 7712) is on the way.
• Broadcom contributes Broadview monitoring support and develops OpenFlow support in its plugin.
• Barefoot contributes P4 plugin and emulator which runs inside VM and Docker containers.
• Cavium enables OPS on XPliant platforms.
• Additional ASIC vendors are working to enable their platforms.
• Code is in Alpha quality - features are being rapidly added
• Most developers will switch from feature development to hardening by end of March, with the goal of having operational system in June/July timeframe.
Home
![Page 13: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/13.jpg)
www.opendaylight.org
A Brief IntroductionProtocol Oblivious
Forwarding (POF)
of
Dr. Haoyu Song
Huawei Technologies
Home
![Page 14: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/14.jpg)
www.opendaylight.org
Towards Open Programmable Data Plane
APPNOS APP
StaticProgramming
RuntimeProgramming
Decouple
Box withprogrammable
Chip
Box withprogrammable
Chip
Box w/ fixedfunction ASIC
Gen 2+Gen 2Gen 1
•Hide heterogeneity•Application reuse
•Custom application•One size fits all
•Real time & on demand•Interactive
![Page 15: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/15.jpg)
www.opendaylight.org
POF ArchitectureApps
& Characteristics
• LanguageIndependent
• Protocol Independent
• Target Independent
• Interactive
programming for real-
time and on-demand
applications
static dynamic
High LevelLanguage
Runtime
Compile
Abstract IR
Programmable
Chips/Devices
Standard Configuration & Runtime interface
![Page 16: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/16.jpg)
www.opendaylight.org
POF Data Plane Abstraction
POF FIS
Custom action
dynamically shared
resource
match key parameter pointer
dynamically loaded entry
dynamically loaded entry
Custom action
![Page 17: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/17.jpg)
www.opendaylight.org
POF Status Update
OCP Networking kickoff
PIF presented P4 paper publishedOpenFlow 1.3 release ONF PIF WG founded P4 Consortium founded@ ONS
2012 2013 2014 2015 2016POF debut Join P4
consortiumPOF paper published OF-PI whitepaper
published @ ONFPOF App Demo@ ONS
POF projectkickoff @ SDN Summit @ SIGCOMM
POF Open Source Demo P4 on POF@ P4 Workshop
POF WAN field trial
POF PoC demo@ONS
Prototype: NE40E-based full-stack PoC
ONF: Next gen OpenFlow & PIF
Application: Dynamic network probes
Next Step: Main-stream SDN controllerintegration
Home
![Page 18: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/18.jpg)
fd.io IntroJan Medved, Ed Warnicke
fd.io Foundation 18
Home
![Page 19: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/19.jpg)
Evolution of Programmable Networking
• Many industries are transitioning to a more dynamic model to deliver network services
• The great unsolved problem is how to deliver network services in this more dynamic environment
• Inordinate attention has been focused on the non-local network control plane (controllers)
• Necessary, but insufficient
• There is a giant gap in the capabilities that foster delivery of dynamic Data Plane Services
fd.io Foundation 19
Programmable Data Plane
![Page 20: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/20.jpg)
Issues/Limitations with Existing Data Plane Solutions
• Known issues with Performance, Scalability & Stability
• Overly Complex Architectures• Hard to evolve
• Slow rate of innovation
• Steep learning curve
• Hard to deploy/upgrade/operate• slow cycles, too many kernel dependencies
• Lack of :
• automated end-to-end system testing frameworks• leads to unpredictable system behavior
• support for diverse/custom hardware
• portability across compute platforms• optimal use of compute microarchitectures• network level instrumentation
• Few debugability features
• Few if any Statistics/Counters exposed
fd.io Foundation 20
![Page 21: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/21.jpg)
Introducing Fast Data: fd.io
• New project in Linux Foundation• Multi-party
• Multi-project
• What does multi-party mean?• Multiple members - Open to all
• What does multi-project mean?• Multiple subprojects
• Subproject autonomy
• Cross project synergy
• Open to new subprojects
• Anyone can propose a subproject
• Allows for innovation
fd.io Foundation 21
Create a Platform that enables Data Plane Services that are:
Highly performantModular and extensibleOpen source InteroperableMulti-Vendor
Platform fosters innovation and synergistic interoperability between Data Plane Services
Source of Continuous Integration resources for Data Plane services based on the Consortium’s project/subprojects
Meet the functionality needs of developers, deployers, datacenter operators
fd.io Charter
![Page 22: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/22.jpg)
Fast Data Scope• Fast Data Scope:
• IO
• Hardware/vHardware <-> cores/threads
• Processing
• Classify
• Transform
• Prioritize
• Forward
• Terminate
• Management Agents
• Control/manage IO/Processing
fd.io Foundation 22
IO
Processing
Management Agent
Bare Metal/VM/Container
![Page 23: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/23.jpg)
Introducing Vector Packet Processor - VPP• VPP is a rapid packet processing development platform for highly
performing network applications.
• It runs on commodity CPUs and leverages DPDK
• It creates a vector of packet indices and processes them using a directed graph of nodes – resulting in a highly performant solution.
• Runs as a Linux user-space application
• Ships as part of both embedded & server products, in volume
• Active development since 2002
fd.io Foundation 23
Network IO
Packet Processing
Data Plane Management Agent
Bare Metal/VM/Container
![Page 24: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/24.jpg)
VPP in the Overall Stack
fd.io Foundation
24
Hardware
Application Layer / App Server
VM/VIM Management Systems
Network Controller
Operating Systems
Data Plane Services
Orchestration
Network IOVPP Packet Processing
Home
![Page 25: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/25.jpg)
Programming Protocol-independent Packet Processors
Copyright © 2016 P4 Language Consortium. Home
![Page 26: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/26.jpg)
How can you ...
Quickly deploy new protocols in your network?
See what your forwarding plane is doing?
Own your forwarding plane & intellectual property?
Tailor your network to meet their needs?
Write code that is portable across many devices in your networks?
Copyright © 2016 P4 Language Consortium.
![Page 27: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/27.jpg)
Need a couple of things ...
1. Programmable Switch Chips
Giving end-users a programmable target for their forwarding plane
2. Industry-wide Programming Language
Allowing end-users to define and modify their forwarding plane
Copyright © 2016 P4 Language Consortium.
![Page 28: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/28.jpg)
P4High-level programming language
Networking domain specific
Protocol Independent
Abstract Forwarding Model
Growing adoption and ecosystem
/*********************************************/
/* Router MAC lookup */
/*********************************************/
action rmac_hit() {
modify_field(l3_metadata.rmac_hit, TRUE);
}
action rmac_miss() {
modify_field(l3_metadata.rmac_hit, FALSE);
}
table rmac {
reads {
l3_metadata.rmac_group : exact;
l2_metadata.lkp_mac_da : exact;
}
actions {
rmac_hit;
rmac_miss;
}
size : ROUTER_MAC_TABLE_SIZE;
}
Copyright © 2016 P4 Language Consortium.
![Page 29: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/29.jpg)
P4 & OpenFlow
Forwarding Plane
Driver
OpenFlow Agent
OpenFlow Controller
OpenFlow Protocol
Apps
Northbound API
Program
Compile
Target Binary
Auto-Generated API
Copyright © 2016 P4 Language Consortium.
![Page 30: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/30.jpg)
P4 Language Consortium (P4.org)
Independent CA non-profitMembership is FREEOpen sourceApache 2.0 CLA
Website: http://p4.orgGitHub: https://github.com/p4lang
Copyright © 2016 P4 Language Consortium.
![Page 31: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/31.jpg)
P4.org Membership
40 organizations from Industry and Academia and growing ...
Cloud Service Provider, Web 2.0, Telco Operator, OEM, ODM, NPU, FPGA, ASIC, Software, ...
http://p4.org/join-us
Copyright © 2016 P4 Language Consortium.
![Page 32: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/32.jpg)
Developer Resources
Spechttp://p4.org/spec/
Compilerhttps://github.com/p4lang/p4c-bm
L2/L3 Switchhttps://github.com/p4lang/switch
Packet Test Framework (PTF)https://github.com/p4lang/ptf
much more at https://github.com/p4lang
Copyright © 2016 P4 Language Consortium.
![Page 33: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/33.jpg)
Now you can ...
Quickly add new protocols.
Remove unused protocols.
Flexibly assign memories to features.
Create new diagnostics, telemetry, OAM etc.
Compose forwarding behavior from libraries.
Specify forwarding behavior once; compile to many devices.
Keep your IP from going to your competitors!
Copyright © 2016 P4 Language Consortium.
![Page 34: South-bound Interface for Programmable Data-plane Panel](https://reader035.fdocuments.in/reader035/viewer/2022080222/62e87eda09fe941c262c0ae3/html5/thumbnails/34.jpg)
Get involved!
Join P4.org - http://p4.org/join-us
Try P4 development tools and programs (switch.p4)Including P4-programmable S/W switches and test framework
Exciting apps for network monitoring, analysis, diagnostics, and control
Join us at the following eventsOpenSwitch Booth at ONS March 15-17, 2016
P4 Introduction & Tutorial on May 23, 2016
P4 Workshop 2016 on May 24, 2016
Join the mailing lists - http://lists.p4.org
Copyright © 2016 P4 Language Consortium. Home