{"guid":"b84d0d61-aaea-559f-99f3-6cc774022ba9","title":"bpfilter: a BPF-based packet filtering framework","subtitle":null,"slug":"all-systems-go-2023-196-bpfilter-a-bpf-based-packet-filtering-framework","link":"https://cfp.all-systems-go.io/all-systems-go-2023/talk/BKLNWP/","description":"Let's discuss about `bpfilter`, a userspace daemon that empowers services to create efficient packet-filtering BPF programs using a high-level representation of filtering rules.\n\nFor a significant period, `bpfilter` wasn't more than an empty [usermode helper](https://cateee.net/lkddb/web-lkddb/STATIC_USERMODEHELPER.html) and an [abandoned patch series](https://lore.kernel.org/bpf/20210829183608.2297877-1-me@ubique.spb.ru). However, it has recently undergone active development as a userspace daemon, which can be found on GitHub at [https://github.com/facebook/bpfilter](https://github.com/facebook/bpfilter). This daemon now offers userspace services a swift and user-friendly interface to generate packet-filtering BPF programs dynamically. This discussion aims to provide further insights into `bpfilter`, including its current capabilities, performance, and ongoing development efforts.","original_language":"eng","persons":["Quentin Deslandes"],"view_count":314,"promoted":false,"date":"2023-09-13T12:30:00.000+02:00","release_date":"2023-09-14T00:00:00.000+02:00","updated_at":"2026-02-11T02:15:04.417+01:00","tags":["asg2023","196","2023"],"length":1243,"duration":1243,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/196-b84d0d61-aaea-559f-99f3-6cc774022ba9.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/196-b84d0d61-aaea-559f-99f3-6cc774022ba9_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/196-b84d0d61-aaea-559f-99f3-6cc774022ba9.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2023/196-b84d0d61-aaea-559f-99f3-6cc774022ba9.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/all-systems-go-2023-196-bpfilter-a-bpf-based-packet-filtering-framework","url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_title":"All Systems Go! 2023","conference_url":"https://api.media.ccc.de/public/conferences/asg2023","related":[],"recordings":[{"size":78,"length":1243,"mime_type":"video/webm","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-14T08:59:19.626+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/webm-hd/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/70346","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":38,"length":1243,"mime_type":"video/webm","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-14T08:56:54.645+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/webm-sd/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/70345","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":28,"length":1243,"mime_type":"video/mp4","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2023-09-14T02:05:04.041+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/h264-sd/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_sd.mp4","url":"https://api.media.ccc.de/public/recordings/70319","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":12,"length":1243,"mime_type":"audio/opus","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2023-09-14T01:38:03.698+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/opus/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_opus.opus","url":"https://api.media.ccc.de/public/recordings/70292","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":18,"length":1243,"mime_type":"audio/mpeg","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2023-09-14T01:37:03.907+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/mp3/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/70290","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"},{"size":57,"length":1243,"mime_type":"video/mp4","language":"eng","filename":"asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2023-09-14T01:14:08.288+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2023/h264-hd/asg2023-196-eng-bpfilter_a_BPF-based_packet_filtering_framework_hd.mp4","url":"https://api.media.ccc.de/public/recordings/70266","event_url":"https://api.media.ccc.de/public/events/b84d0d61-aaea-559f-99f3-6cc774022ba9","conference_url":"https://api.media.ccc.de/public/conferences/asg2023"}]}