20-24 September 2021
US/Pacific timezone

BPF Map Tracing: Hot Updates of Stateful Programs

20 Sep 2021, 10:20
Networking and BPF Summit/Virtual-Room (LPC Virtual)

Networking and BPF Summit/Virtual-Room

LPC Virtual

Networking & BPF Summit (Closed) BPF & Networking Summit


Joe Burton (Google)


In this talk I will outline a facility for tracing BPF map updates which might be used to perform zero downtime upgrades of stateful programs.

Map updates cannot currently be natively traced within BPF. I propose a set of kernel changes where tracing programs can be attached to individual maps. These programs run in response to particular operations: one might run on update, and another on deletion.

This facility seems like it should be broadly useful, but it was designed with a specific use case in mind. We would like to be able to migrate state between two versions of a set of programs, and swap between the two versions with zero downtime. By tracing updates on the original set of maps, I believe that we can achieve this goal.

Please see the attached paper for a deeper discussion of the problem and proposed solution.

I agree to abide by the anti-harassment policy I agree

Primary author

Joe Burton (Google)

Presentation Materials