Educational Webinars

eBPF Tooling and Debugging Infrastructure

By Quentin Monnet, Netronome

eBPF, in particular with its driver-level hook XDP, has increased in importance over the past few years. As a result, the ability to rapidly debug and diagnose problems is becoming more relevant. This session will cover common issues faced and techniques to diagnose them, including the use of bpftool for map and program introspection, the disassembling of programs to inspect generated eBPF instructions and other methods such as using debug prints and how to apply these techniques when eBPF programs are offloaded to the hardware.

BPF Hardware Offload Deep Dive

By Jakub Kicinski, Netronome

The first version of eBPF hardware offload was merged to Linux kernel in October 2016 and became part of Linux v4.9. For the last two years the project has been growing and evolving to integrate closer with core kernel infrastructure and enable more advanced use cases. This talk will explain the internals of the kernel architecture of the offload and how it allows seamless execution of unmodified eBPF datapaths in HW.

Demystify BPF JIT Compiler

By Jiong Wang, Netronome

This webinar will focus on eBPF JIT compilation infrastructure and how it plays an important role in the entire eBPF life cycle inside the Linux kernel. First, it does quite a number of control flow checks to reject vulnerable programs and then JIT compiles the eBPF program to either host or offloading target instructions which boost performance. However, there is little documentation about this topic which this webinar will dive into. 

Transparent eBPF Offload: Playing Nice with the Linux Kernel

By Nic Viljoen and Jakub Kicinski, Netronome

Netronome is developing transparent kernel acceleration based on XDP and eBPF. This allows bytecode intended for kernel applications to be directly offloaded using the upstreamed nfp_bpf_jit. The talk will focus on the basics of getting an XDP environment up and running, a couple of use cases and a simple demo of Netronome’s eBPF offload in action.

Transparent HW Acceleration Using eBPF

By Nic Viljoen, Netronome

To enable SmartNICs to be used in a way that is transparent in an in-tree hyperscale environment requires the reuse of programmable infrastructure within the kernel, the most suitable candidate is eBPF. This talk will explain how this offload is achieved, the next steps in development and show a very basic demo of the offload in acton.

P4, eBPF and Linux TC offload

By Dinan Gunawardena and Jakub Kicinski, Netronome

In this talk we discuss the mechanisms of utilizing the eBPF language to perform hardware accelerated network packet manipulation and filtering. P4 programs can be compiled into eBPF scripts for offload in the Linux kernel using the Traffic Classifier (TC) subsystem. We demonstrate how, using eBPF as an intermediate language, it has been possible to extend the TC to either Just In Time (JIT) compile eBPF code to x86 assembler for software offload or to IXP byte code for execution in a trusted hardware environment within the Netronome Agilio intelligent server adapter. We finish by encouraging the audience to experiment with their own eBPF applications within the TC hardware accelerated system. The TC kernel patches are available on the Linux Kernel Networking mailing list as a Request For Comment (RFC) contribution.