ACM SIGCOMM 2018 Morning Tutorial on Host Dataplane Acceleration (HDA)
Call For Participation
This tutorial will provide participants with a hands-on introduction to new technologies to accelerate network function processing on server networking hardware (www.open-nfp.org). Attendees will learn how to express new data-plane applications in eBPF and P4 and how to compile, execute, and evaluate these applications on production hardware.
August 20, 2018
Attendees will prototype network applications in the eBPF and P4 and compile them to production networking hardware in a sequence of hands-on labs.
The tutorial will cover the following topics:
- Introduction to eBPF: The VM, Instruction set, Maps, Helper Functions, Verifiers, Development process
- Introduction to XDP eBPF: XDP hooks, actions and use cases
- eBPF XDP offload: Open source implementations to offload XDP to a SmartNIC or another device.
- XDP Offload Lab (Load balancer): Hands on lab.
- P4-16 with Netronome SmartNIC.
- C-based externs with P4-16 - Development process for functions not supported in P4.
- P4-16 Lab (Telemetry) - Hands-on lab.
Audience Expectations and Prerequisites
Attendees will be expected to bring their own laptops with remote desktop protocol installed. We will provide access to a VM containing all the necessary packages and tools.
The Extended Berkeley Packet Filter (eBPF) has rapidly been adopted into a number of systems since its introduction into the Linux kernel in 2014. Uses of eBPF have quickly grown to include network monitoring, network traffic manipulation, and system monitoring, etc. - all of which can be accelerated via Agilio CX SmartNIC programming and offload approaches. Netronome and the Open-NFP community have created several sources of information and samples on eBPF.
P4 is a high-level programming language for software-defined networks. It is intended to describe the behavior of the data plane of any system or appliance that forwards, modifies or inspects network traffic. Researchers are innovating using P4 in server-based networking systems with novel approaches to offloading servers using SmartNICs and realizing new functionality.
This tutorial will be based on recent technical papers on eBPF offload and P4 applications in server-based networking.
 eBPF Hardware Offload to SmartNICs: cls bpf and XDP, N. Viljoen and J. Kicinski, Netdev, 2016.