Compute Engineering Workshop P 4 specifying data planes
- Slides: 17
Compute Engineering Workshop P 4: specifying data planes http: //P 4. org San Jose, March 11, 2015 Mihai Budiu ENGINEERING WORKSHOP
P 4 Language Consortium • “Open for participation by any individual or corporation” • No membership fees. • http: //p 4. org • Language spec v 1. 0. 2 • Coming soon (3/2015): FOSS release of a reference P 4 implementation ENGINEERING WORKSHOP
What do we want to achieve? Switch Currently most useful if you have your own network playground Standard protocols Your own protocols Datacenter ENGINEERING WORKSHOP
Benefits Implement (new) protocols • • Vx. LAN: 175 lines SAI: 543 lines Low overhead (high speed) Flexible forwarding policies Improved signaling, monitoring, and troubleshooting Change functionality with software upgrades Use only what you need ENGINEERING WORKSHOP
P 4 Scope Traditional switch Control plane Data plane Control plane P 4 -defined switch Table mgmt. Control traffic Packets P 4 Program P 4 table mgmt. Data plane ENGINEERING WORKSHOP
Q: Which data plane? A: Any data plane! Control plane Programmable switches FPGA switches Programmable NICs Software switches You name it… Data plane ENGINEERING WORKSHOP
Data plane programmability Programmable blocks P 4 P 4 Fixed function ENGINEERING WORKSHOP
How does it work? Programmable parser eth vlan ipv 4 Payload Packet (byte[]) Programmable match-action units Headers eth mtag ipv 4 eth ipv 4 mtag err port bcast Headers Queuing Metadata Programmable reassembly Packet ENGINEERING WORKSHOP
P 4 language Programmable parser Programmable match-action units Programmable reassembly State-machine; bitfield extraction Table lookup and update; bitfield manipulation; control flow Bitfield assembly No: memory (pointers), loops, recursion, floating point ENGINEERING WORKSHOP
Parsing = State machines header_type ethernet_t { fields { dst. Addr : 48; src. Addr : 48; ether. Type : 16; } } Eth VLAN IPv 4 IPv 6 TCP New parser parse_ethernet { extract(ethernet); return select(latest. ether. Type) { 0 x 8100 : parse_vlan; 0 x 800 : parse_ipv 4; 0 x 86 DD : parse_ipv 6; } } ENGINEERING WORKSHOP
Match � table ipv 4_lpm { reads { ipv 4. dst. Addr : lpm; } actions { set_next_hop; drop; } } Lookup key dst. Addr action 0. * drop 10. 0. 0. * set_next_hop 224. * drop 192. 168. * drop 10. 0. 1. * set_next_hop ENGINEERING WORKSHOP
Actions action set_nhop(nhop_ipv 4_addr, port) { modify_field(metadata. nhop_ipv 4_addr, nhop_ipv 4_addr); modify_field(standard_metadata. egress_port, port); add_to_field(ipv 4. ttl, -1); } dst. Addr action 0. * drop 10. 0. 0. * set_next_hop nhop_ipv 4_addr port 224. * drop 10. 0. 0. 10 1 192. 168. * drop 10. 0. 1. 10 2 10. 0. 1. * set_next_hop ENGINEERING WORKSHOP
Control-Flow control ingress { apply(port); if (valid(vlan_tag[0])) { apply(port_vlan); } apply (bridge_domain); if (valid(mpls_bos)) { apply(mpls_label); } retrieve_tunnel_vni(); if (valid(vxlan) or valid(genv) or valid(nvgre)) { apply(dest_vtep); apply(src_vtep); } } M/A M/A M/A ENGINEERING WORKSHOP
Reassembly Driven by header types add_header(ipv 6); remove_header(vlan); ENGINEERING WORKSHOP
Table contents management Control plane Manage tables contents (Tied to P 4 program) Data plane ENGINEERING WORKSHOP
P 4 Summary Simple language • Parsing, bit-field manipulation, table lookup, control flow, packet reassembly Efficient execution (high speed switching) Simple cost model Abstract resources Portable Expressive: • New protocols, forwarding policies, monitoring and instrumentation ENGINEERING WORKSHOP
Control plane The P 4 Programming. Language Interface Data plane ENGINEERING WORKSHOP
- What is the purpose of research questions
- Channel design decisions
- Testing tools in workshop technology
- Safe system engineering workshop
- Data strategy workshop
- Research data lifecycle
- Dmmsm
- Aasb 138 intangible assets
- Dead clic
- How to get the selling price
- Legal capital
- Ipcr comments and recommendations sample
- Komputer berasal dari kata compute yang berarti
- Compute tangent space per fragment
- Computing sample size
- Promotion rate formula deped
- Calculate standard deviation from mean
- Calculate the molarity