
The P4 Language Consortium
Programming Protocol-independent Packet Processors (P4) is a domain-specific language for network devices, specifying how data plane devices (switches, NICs, routers, filters, etc.) process packets. Before P4, vendors had total control over the functionality supported in the network. And since networking silicon determined much of the possible behavior, silicon vendors controlled the rollout of new features (e.g., VXLAN), and rollouts took years. P4 turns the traditional model on its head. Application developers and network engineers can now use P4 to implement specific behavior in the network, and changes can be made in minutes instead of years.
GSoC Participation History
Technologies
Topics
Past Projects
Polyglot P4TC: Python and Rust API Wrappers for Linux TC-based P4
P4TC enables programmable packet processing in the Linux kernel via TC and eBPF, but its control plane is limited to the tc CLI and shell scripts....
BMv2 packet trace support
BMv2 currently provides only textual logs for tracing packets through a P4 pipeline, which must be parsed with brittle regex hacks and cannot be...
Enhancing P4-SpecTec Usability: A Mechanized Specification for Nano-P4
P4-SpecTec provides mechanized formal semantics for the P4 language, but its adoption is currently limited by a lack of accessible learning...
Improving The Traffic Manager of the P4Sim Switch
This project is to improve the P4Sim module by enhancing its Traffic Manager and integrating ns-3's built-in QueueDisc class into it. This will help...
Integrating P4 Based In Network Machine Learning Framework into P4Pi
This project integrates Planter, an in-network machine learning framework, into the P4Pi Raspberry Pi platform. The work includes adding a p4c-dpdk...
Frequently Asked Questions
The P4 Language Consortium | GSoC Org Profile & Stats - Learn about The P4 Language Consortium's involvement in Google Summer of Code (GSoC), their technologies, detailed reports.
Participation
Projects
Top Programming Languages
Project Difficulty Distribution
No difficulty data available