Infrastructure datapath function(IDPF) workshop
Anjali Singhai Jain
Willem de Bruijin
Michael S. Tsirkin
Nuts and Bolts
This workshop presents the motivation for a new high performance Open network interface, presents a candidate design and proposes a standardization process to get to broad industry agreement. It aims to answer questions including why standardization, why deviate from virtio and why this specific candidate.
There is broad industry understanding on the benefits of a single shared interface. It simplifies VM management for users and distros, and heterogenous hardware fleets management for hyperscale providers. Speeds of 200 Mpps and beyond require an optimized design with features such as separate buffer and completion queues, inline crypto acceleration and header-split for direct data placement.
This workshop introduces what is to our understanding the first concrete, specific proposal for such an industry standard device, the infrastructure dataplane function, or IDPF. IDPF is demonstrated at 200 Gbps, supports the core network interface features such as multi-queue and stateless segmentation offloads, and is extensible to incorporate the features of the latest generation NICs, including line-rate PTP timestamping, inline crypto offload and TCP pacing offload.
The workshop will present
- Motivation: performance requirements and design differences with virtio, VDPA and Intel AVF
- The API, including capability negotiation process, minimum and optional feature sets
- A reference driver: a single driver for PF, VF and software devices
- A reference software implementation
- Advanced features: live migration
- Standardization: OASIS, process and founding partners
- Conformance tests and validation
And will conclude with a panel and open floor discussion.
IDPF is intended as a vendor neutral device interface that provides a single network interface for hosts, containers and guests. The plan is to arrive at an industry standard by submitting reference drivers to the Linux upstream community , making available a software implementation and publishing an open spec through an OASIS technical committee.
A reference software implementation is important for an open standard. A reference software IDPF back-end will be presented, to illustrate the key components of this implementation and present performance data. This software device will be publicly available through the official DPDK Git repository. The IDPF back-end uses the recent VFIO-USER  QEMU fast path for emulation outside the QEMU binary, and can be applied to both virtual machines and containers. As a software NIC, the IDPF back-end can be used for:
Simulation of new hardware features.
Deployment in multi-vendor environments where part of the hardware does not support native IDPF but a unified interface is to be provided for all instances.
Advanced scenarios including live upgrade of a physical device firmware, transparently falling back onto the software NIC.
 Adaptive Virtual function driver, https://www.intel.com/content/www/us/en/products/docs/network-io/ethernet/controllers/ethernet-adaptive-virtual-function-hardware-spec.html
 NICs for Hyperscalers https://146a55aca6f00848c565-a7635525d40ac1c70300198708936b4e.ssl.cf1.rackcdn.com/images/323f189f34c8b81696ec5af59cec1383fae2afd1.pdf
 John Johnson, “VFIO User - Using VFIO as the IPC Protocol in Multi-Process QEMU” https://kvmforum2021.sched.com/event/ke3g/vfio-user-using-vfio-as-the-ipc-protocol-in-multi-process-qemu-john-johnson-jagannathan-raman-oracle
 IDPF patches under review (new version will be posted before the workshop) https://lore.kernel.org/all/Yfvx5DKKkMIhLYEg@boxer/T/#m5c76a8b136bf37619680e9988d8bc7e741f469ed
Netdev 0x16 Day 1 - 5 videos released
[Wed, 18, Jan. 2023]
Netdev 0x16 Day 1 and 2 videos released
[Thu, 22, Dec. 2022]
Netdev 0x16 Schedule is up
[Tue, 04, Oct. 2022]
Registration for Netdev 0x16 is now OPEN!
[Wed, 21, Sep. 2022]
Bronze Sponsor, OpenVPN
[Sat, 10, Sep. 2022]
Bronze Sponsor, Jump Trading
[Fri, 09, Sep. 2022]
Bronze Sponsor, NVIDIA
[Thu, 08, Sep. 2022]
Bronze Sponsor, HAProxy
[Thu, 08, Sep. 2022]
Bronze Sponsor, ByteDance
[Sat, 27, Aug. 2022]
Bronze Sponsor, Gcore
[Thu, 25, Aug. 2022]
Gold Sponsor, Meta
[Wed, 17, Aug. 2022]
Bronze Sponsor, secunet
[Wed, 10, Aug. 2022]
Platinum Sponsor, Intel®
[Tue, 02, Aug. 2022]
Bronze Sponsor, ZEVENET
[Tue, 26, Jul. 2022]
Bronze Sponsor, Mojatatu
[Thu, 21, Jul. 2022]
Platinum Sponsor, Google
[Tue, 12, Jul. 2022]
Media Sponsor, LWN.net
[Fri, 08, Jul. 2022]
Platinum Sponsor, Juniper Networks
[Thu, 30, Jun. 2022]
Bronze Sponsor, Tempesta
[Fri, 24, Jun. 2022]
Silver Sponsor, AMD
[Wed, 15, Jun. 2022]
Netdev 0x16 Call for Submissions
[Tue, 07, Jun. 2022]
|Closing of CFS||Wed, Sept. 7, 2022|
|Notification by||Thu, Sept. 15, 2022|
|Conference dates||Oct 24th - 28th, 2022|