Introduce scientific XDP paper
Lots of XDP activity – Especially at this conference
Evolving XDP – without killing performance
Scientific XDP paper accepted:
Purpose
This talk came out of the “Limitations and Future Work” section
XDP basically: New layer in the kernel network stack
Means: Competing at the same “layer” as DPDK / netmap
Not kernel bypass; data-plane is kept inside the kernel
XDP is maturing in upstream kernels
Popular topic at this LPC network track miniconf
XDP has seen production use
Other talks will cover this:
Don’t have time look at performance details
Following graphs show:
While XDP is a disruptive and innovative technology
XDP is all about processing many (M)PPS
Guiding principle: New features must not negatively affect baseline XDP perf
Issue: Who is monitoring XDP performance?
Think of XDP as a software offload layer for the kernel network stack
IP routing good example:
We should encourage adding helpers instead of duplicating data in BPF maps
XDP is a core kernel layer building block
Directions we hope to see XDP go
P4 vs eBPF/XDP is the wrong attitude
Regular XDP performance benefit comes from in-kernel processing
AF_XDP is for faster raw packet delivery to userspace
Two talks about AF_XDP at LPC:
Warning: Crazy ideas ahead!
Long term goal: Remove need for SKB allocations in NIC drivers
Actually supported today! – can avoid allocating SKB in driver
Missing part: driver offloads (e.g., csum-info, rxhash, HW-mark)
Hope this will be covered in the talk by P.J. Waskiewicz and Neerav Parikh (Intel):
When redirecting to another device, XDP calls target driver’s ndo_xdp_xmit()
Current hack: allocate resources on XDP program load
We need an explicit API for enabling XDP TX on a device
Userspace cannot query which XDP features a driver supports
Userspace needs this information. For example, in Suricata:
Issue: Programs can’t predict if XDP_REDIRECT will succeed
Idea: Add a new egress hook to XDP
Recent (4.18): XDP memory models per driver RX queue
Planned changes:
More optimizations for DMA mapping needed
Thanks to all contributors