Session

Multi-PF single netdev

Speakers

Tariq Toukan

Label

Nuts and Bolts

Session Type

Talk

Contents

Description

The Multi-PF NIC technology enables several CPUs within a multi-socket server to connect directly to the network, each through its own dedicated PCIe interface.

This results in eliminating the network traffic traversing over the internal bus between the sockets, significantly reducing overhead, latency, CPU utilization, and increasing network throughput.

In a recent series that was accepted upstream [1] we added support for combining multiple PFs of the same port in a Multi-PF environment under one netdev instance. It is implemented in the netdev layer of our vendor driver.

The idea was first presented by Achiad Shochat [2] a few years ago in Netdev 2.2 conference (Seoul).

In this talk, we will emphasize the advantages of this solution over the alternatives, like applying a Linux bond/team device on top of the per-socket kernel netdevs.

As the use cases that this feature speeds up are becoming widely spread in modern data centers, we see this feature standardized and transitioned to the generic netdev-layer, in cooperation with other vendors, in the mid/long term.

We will go over some key design decisions, implementation details, performance numbers, and future vision.

[1] https://lore.kernel.org/all/20240215030814.451812-1-saeed@kernel.org/ [2] https://www.netdevconf.info/2.2/session.html?shochat-devicemgmt-talk