Proposal for netdev 1.2 - XDP workshop

Tom Herbert <tom@...>


Here is my proposal for an "XDP workshop" for netdev 1.2 (Oct. 5-7 in Tokyo).

Please review and let me know if this is missing anything before I
submit it. Once this is accepted, we'll be recruiting speakers for
various topics so feel free to volunteer now ;-)


--- Title ---
XDP workshop
Introduction, tutorial, and future development

--- Type ---

--- Description ---
eXpress Data Path (XDP) is a programmable and high performance
networking data path. XDP defines a packet processing path that runs
very low in the system as close to the hardware as possible. BPF
provides the programmability for XDP allowing users to access the low
level networking data path to implement virtual switches, load
balancers, firewalls, and similar "middlebox" type functions. XDP
programs are intended to be portable across different XDP platforms
which includes not only Linux kernel but potentially NIC offloads,
switches, DPDK, and other OSes.

This workshop provides an introduction to users and developers that
will use XDP. We want to cover the background and technical
description of XDP and hold a tutorial that demonstrates how to use
XDP programs and how to create new ones.

Topics for the workshop would include:

* Introduction to XDP: design principles, API model, and reference
Linux implementation. (we would like to have an accompanying paper)
* Tutorial on writing, running, and debugging XDP programs. This will
include a description of the ILA router and L4 load balancer which
will likely be first use cases in production.
* XDP on other platforms. HW offload to support of XDP, XDP in DPDK,
XDP in other OSes (Windows, BSD?).
* Presentations on future development: Cilium, Ceth, XDP for network
virtualization, XDP to make a virtual switch, P4 to XDP compilers, XDP
over DPDK/VPP, etc.