P4TC hits a brick wall

submited by
Style Pass
2024-06-11 20:30:07

The kernel supports a number of traffic-control mechanisms in its networking subsystem; tc-flower is perhaps one of the most commonly used. The P4TC subsystem proposed by Salim fits into that subsystem, adding the ability to use the P4 language for the description of networking policies. It is entirely implemented in software, and runs within the kernel.

That software implementation was one of the first aspects of this work to attract attention. While one can do complicated network processing and routing in the kernel, any implementation that is intended to keep up with current network speeds needs quite a bit of hardware support. There are vendors selling networking hardware that is programmable with P4 now, and P4TC intends to support that hardware, but that capability was not present in the patch set (or any subsequent version). Jiri Pirko asked about that omission in response to the initial posting; Salim answered that the traffic-control subsystem requires a software implementation for any functionality that can be offloaded to hardware (thus ensuring that the functionality is universally available), and that the hardware-offload interfaces were still under consideration. Daniel Borkmann complained that nobody would use the software implementation, an assertion that Salim disagreed with.

This LWN.net subscription-only content has been made available to you by an LWN subscriber. To see more of this content, please take advantage of the following special offer. Free trial subscription Try LWN for free for 1 month: no payment or credit card required. Activate your trial subscription now and see why thousands of readers subscribe to LWN.net.

Leave a Comment