{"guid":"bfce510e-1dab-50b3-972b-8f59d50ce150","title":"Introduction to XDP, eBPF and AF_XDP","subtitle":null,"slug":"osmodevcon2024-204-introduction-to-xdp-ebpf-and-afxdp","link":"https://pretalx.sysmocom.de/osmodevcon2024/talk/RBXC3V/","description":"This talk provides a generic introduction to a set of modern Linux kernel technologies:\n\n* [eBPF](https://ebpf.io/what-is-ebpf/) (extended Berkeley Packet Filter) is a kind of virtual machine that runs sandboxed programs inside the Linux kernel.\n* [XDP](https://docs.cilium.io/en/latest/bpf/progtypes/#xdp) (eXpress Data Path) is a framework for eBPF that enables high-performance programmable packet processing in the Linux kernel\n* [AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html) is an *address family* that is optimized for high-performance packet processing. It allows in-kernel XDP eBPF programs to efficiently pass packets to userspace via memory-mapped ring buffers.\n\nThe talk will provide a high-level overview. It should provide some basics before the other/later talks on bpftrace and eUPF.","original_language":"eng","persons":["Harald Welte (sysmocom)"],"tags":["osmodevcon2024","204","2024","osmodevcon2024","osmocom"],"view_count":873,"promoted":false,"date":"2024-05-05T11:00:00.000+02:00","release_date":"2024-06-02T00:00:00.000+02:00","updated_at":"2026-04-04T03:15:02.283+02:00","length":4371,"duration":4371,"thumb_url":"https://static.media.ccc.de/media/conferences/osmodevcon/2024/204-bfce510e-1dab-50b3-972b-8f59d50ce150.jpg","poster_url":"https://static.media.ccc.de/media/conferences/osmodevcon/2024/204-bfce510e-1dab-50b3-972b-8f59d50ce150_preview.jpg","timeline_url":"https://static.media.ccc.de/media/conferences/osmodevcon/2024/204-bfce510e-1dab-50b3-972b-8f59d50ce150.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/conferences/osmodevcon/2024/204-bfce510e-1dab-50b3-972b-8f59d50ce150.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/osmodevcon2024-204-introduction-to-xdp-ebpf-and-afxdp","url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_title":"OsmoDevCon 2024","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024","related":[],"recordings":[{"size":1133,"length":4371,"mime_type":"video/webm","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2024-06-03T12:57:29.371+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/webm-hd/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/77879","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"},{"size":52,"length":4370,"mime_type":"audio/opus","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2024-06-03T10:20:43.808+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/opus/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_opus.opus","url":"https://api.media.ccc.de/public/recordings/77868","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"},{"size":316,"length":4371,"mime_type":"video/webm","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2024-06-03T10:13:08.184+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/webm-sd/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/77866","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"},{"size":66,"length":4371,"mime_type":"audio/mpeg","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2024-06-03T08:55:03.199+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/mp3/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/77865","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"},{"size":194,"length":4371,"mime_type":"video/mp4","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2024-06-03T08:52:05.731+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/h264-sd/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_sd.mp4","url":"https://api.media.ccc.de/public/recordings/77864","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"},{"size":1276,"length":4371,"mime_type":"video/mp4","language":"eng","filename":"osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2024-06-02T16:36:56.360+02:00","recording_url":"https://cdn.media.ccc.de/events/osmodevcon/2024/h264-hd/osmodevcon2024-204-eng-Introduction_to_XDP_eBPF_and_AF_XDP_hd.mp4","url":"https://api.media.ccc.de/public/recordings/77777","event_url":"https://api.media.ccc.de/public/events/bfce510e-1dab-50b3-972b-8f59d50ce150","conference_url":"https://api.media.ccc.de/public/conferences/osmodevcon2024"}]}