Lecture 6 - SDN P4 Flashcards
1
Q
Why Program Data Planes?
A
- Fixed function ASICs (chips)
- Features are either supported or not
- Slow cycle of innovation (creating new chips)
- “Closed Source”
2
Q
What are some problems that require programming data planes?
A
- No ASICs for special use-cases
- Expensive “change requests” only the vendor can modify drivers or behavior
3
Q
Which planes are programmable?
A
Both Control and Data plane
4
Q
What are the traits of FPGAs?
A
Field Programmable Gate Array
- Any Boolean Logic
- Registers
- Memory
- SerDes capabilities
- Reconfigurable
5
Q
Name some hardware description languages and 2 compilers for FPGS.
A
- Verilog
- VHDL
- BlueSpec
Compilers:
- C
- P4
6
Q
What’s the P4 language goal?
A
An open source language allowing the specification of packet processing logic
- Reconfigurability - Change how switches process packets
- Protocol independence - Switches are not to be tied to any specific network protocols
- Target independence - Description packet-processing functionality independent of the underlying hardware
7
Q
What’s the P4_14 reference pipeline?
A
- Parser and Deparser
- Ingress and Egress Pipeline
— Used for packet processing
— P4 Programmable - Packet buffer
8
Q
What are the disadvantages of P4_14?
A
- Fixed pipeline
- Only one parser (no deparser)
- Poor expressivity
- Fixed “table->Action” Construct
- No “special functions”
9
Q
Name P4_16 design goals
A
- Incremental Change
- Expressivity
- Support for many targets
- Simplicity
- Modularity
- Extensibility
- Robustness
10
Q
What’s the P4_16 reference pipeline?
A
- No fixed pipeline
- N programmable blocks
- P4_14 compatibility? - Yes 2 programmable and 1 fixed function block
- Smart NICs, FPGAs, p4-ASICs…
11
Q
Steps of the P4_16 Parser?
A
- Define header types
- Structure header stack
- Parse headers
12
Q
A