Presentation is loading. Please wait.

Presentation is loading. Please wait.

P4 (Programming Protocol-independent Packet Processors)

Similar presentations


Presentation on theme: "P4 (Programming Protocol-independent Packet Processors)"— Presentation transcript:

1 P4 (Programming Protocol-independent Packet Processors)
Seyeon Jeong DPNM lab, Dept. of CSE, POSTECH

2 Introduction OpenFlow was simple Over the past years
A single flow rule table Matching on any of 12 fields of the incoming packet MAC addr., IP addr., Transport protocol, … Over the past years Still not enough to support many encapsulation techniques Version Date # header fields OF 1.0 Dec 2009 12 (Ethernet, TCP, IPv4) OF 1.1 Feb 2011 15 (MPLS, inter-table meta data) OF 1.2 Dec 2011 36 (ARP, ICMP, IPv6, etc.) OF 1.3 Jun 2012 40 OF 1.4 Oct 2013 41 OF 1.5 Dec 2014 45

3 Introduction OF switches must be updated to support
Latest features of the newest version Difficulties in maintenance, compatibility, … Where does it stop? People think that future SDN(/OpenFlow) switches must have Configurable packet parser Not tied to a specific header format (protocol)! Flexible match+action tables General packet-processing primitives

4 Introduction New generation of switch ASICs
Intel FlexPipe RMT [SIGCOMM’ 13] Cisco Doppler But, programming these chips is hard Custom, vendor-specific interface Low-level programming like microcode We need a higher-level interface! P4 (Programming Protocol-independent Packet Processors) language + P4 compiler

5 P4 language P4 language Provides a single means of configuration to packet forwarding Based on an abstract forwarding model With a programmable parser Allows the definition of arbitrary headers and fields Provides a context for match+action definitions

6 P4 language

7 P4 language Header and Fields
Fields have a (bitwise) width and other attributes Headers are collections of fields Like an instantiated class in Java

8 P4 language Parser Extracts header instances
Selects a next “state” by returning another parser function

9 P4 language Match + Action table
Parsed representation of headers give context for processing of the packets An action function consists of several primitive actions

10 P4 as Open Source Project

11 OpenFlow + P4 “Classic” OpenFlow 1.x OpenFlow 2.0 SDN Control Plane
“Classic” OpenFlow 1.x OpenFlow 2.0 SDN Control Plane SDN Control Plane Configuring: Parser, tables, and control flow (P4 program) Populating: Installing and querying rules Installing and querying rules Parser & Table conf. Rule Translator P4 Compiler Target Switch Target Switch

12 Conclusion P4 in a nutshell An alternate future of OpenFlow 1.x
Protocol independence Target independence Reconfigurability in the field Simple language Programmable parser Match + Action tables Control flow (packet processing pipeline) C-like syntax Multiple companies have written the compilers

13 Q&A


Download ppt "P4 (Programming Protocol-independent Packet Processors)"

Similar presentations


Ads by Google