July 7th, 2024

P4TC Hits a Brick Wall

P4TC, a networking device programming language, faces integration challenges into the Linux kernel's traffic-control subsystem. Hardware support, code duplication, and performance concerns spark debate on efficiency and necessity. Stalemate persists amid technical and community feedback complexities.

Read original articleLink Icon
P4TC Hits a Brick Wall

P4TC, a programming language for networking devices, has faced challenges in being integrated into the Linux kernel's traffic-control subsystem. Despite initial interest, the feature has not been merged after 18 months, with concerns growing. The proposed P4TC subsystem aims to use the P4 language for networking policies but lacks hardware support crucial for high-speed network processing. Feedback from reviewers highlighted issues like duplication of code and performance concerns. While some developers supported the work for its potential benefits, others questioned its technical strength and broader usefulness. The debate revolves around whether P4TC should be compiled directly to BPF for efficiency and whether hardware offload support is essential. Efforts to find a resolution have been met with opposition, leading to a stalemate. The disagreement underscores the challenges of integrating new technologies into the kernel and the complexities of balancing technical considerations with community feedback.

Link Icon 2 comments
By @eqvinox - 3 months
Highly recommend reading the comments if this general area of development (state of network "accelerators"/NPUs) is relevant to you. Regardless of P4TC, they're quite educative.