Session

Next Generation Intel Ethernet Drivers (ixd and idpf)

Chairs

Sridhar Samudrala
Jayaprakash Shanmugam

Label

Nuts and Bolts

Session Type

Bof

Description

ixd and idpf are 2 intel ethernet drivers that are targeted for multiple generations of intel ethernet products in various formats like discrete PCI NIC across multiple hosts, SOC NIC, SOC SWITCH and IPU, all based on a common networking IP. idpf is a open specification based unified pf/vf ethernet driver supporting IDPF pci programming interface. It has been in the upstream linux kernel for past few years, supported in linux kernel distributions across x86/ARM architectures and widely deployed in google cloud environments. ixd is a new control+data path driver that supports switchdev framework to provision, configure, control and manage devices that expose idpf data path functions. In this talk we will go over the driver architecture, design, challenges and the strategy we are following to refactor idpf to enable sharing the code between the 2 drivers. We will also go over the various PCI functions(PF/VF), Subfunctions exposed by the device and the drivers loaded to support the possible configurations and device modes.