Back to Programs

Programming languages

The P4 Language Consortium

Evolve the programmable data plane ecosystem!

Z3c++ebpfllvmmlirkernellinux

Participation history

3 GSoC years

2026

5 projects

Official year page

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...

2025

4 projects

Official year page

Accelerating OVS with Gigaflow: A Smart Cache for SmartNICs

Gigaflow is an innovative solution to accelerate network processing in large-scale data centers by leveraging flow locality and pipeline-aware...

SpliDT: Scaling Stateful Decision Tree Algorithms in P4

Contemporary developments of Machine Learning Applications in real-time Networks to classify traffic for better security and performance are examples...

P4Sim Control Plane Enhancement

This project aims to extend the existing P4sim module integrated within the ns-3 network simulator by implementing control plane functionalities. The...

BMv2 With All Possible Output Packets

P4 empowers developers to program the data plane of network devices—switches, routers, and NICs—at a level of detail previously only accessible to...

2024

4 projects

Official year page

P4 Compiler Documentation

The project aims to centralize the P4 compiler (p4c) documentation by developing a new, well-structured documentation website using Doxygen for...

P4-Enabled Container Migration in Kubernetes

Kubernetes has recently moved its forensic container checkpointing feature into beta. This feature allows checkpointing containers within Kubernetes...

P4 Formatter

P4 (Programming Protocol-independent Packet Processors) is a domain-specific language for network devices. It allows programmers to specify how data...

BMv2 PNA Support

Programming Protocol-independent Packet Processors (P4) is a domain-specific language for network devices, specifying how data plane devices...