The document describes the design of p4srv6, a P4 program that implements SRv6 (Segment Routing for IPv6) functions. It discusses p4srv6's pipeline design based on the v1model.p4 architecture and includes details on the parser, ingress control, transit and end tables for SRv6, and handling of variable length SID lists. It also provides examples of configuring p4srv6 for GTP to SRv6 encapsulation and decapsulation.
2. • p4srv6 ... feature and roadmap
• P4 Difference among Architectures
• p4srv6 ... Pipeline and design
• p4srv6 Pipeline and design
• p4srv6 ... examples of config and packet dump
• p4srv6 ... control plane integration
• MAT abstraction considerations
• P4 Implementation tips
• SID List (variable length array field)
• SRv6 active segment
p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
Table of Contents
3. p4srv6 ... feature and roadmap
p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
4. p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
p4srv6 ... feature and roadmap
What is p4srv6 ??
https://github.com/ebiken/p4srv6
5. p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
p4srv6 ... feature and roadmap
Functions used in the SRv6 Mobile Uplane POC
6. P4 Difference among Architectures
p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
7. p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
Difference you should care between P4 Architectures
• Pipeline
• Metadata
• Special In/Out port
• Externs (Checksum)
Architecture is also defined using P4
https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4
https://github.com/p4lang/p4c/blob/master/p4include/psa.p4
https://github.com/vmware/p4c-xdp/blob/master/p4include/xdp_model.p4
18. p4srv6 ... control plane integration
p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
To Be Updated in Future Rev.
19. p4srv6 (P4-16) design document | ENOG55 in Nigata Tsubame Sanjyo | 2019/02/22 rev1.0
Match Action Table (MAT) abstraction considerations
To Be Updated in Future Rev.