XDP/eBPF — 架构设计

Posted 范桂飓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XDP/eBPF — 架构设计相关的知识,希望对你有一定的参考价值。

目录

XDP 的架构设计

XDP 总体设计包括以下几个部分:

  • XDP 驱动:是网卡驱动中的一个 XDP 程序的挂载点,每当网卡接收到一个数据包就会执行这个 XDP 程序。XDP 程序可以对数据包进行逐层解析、按规则进行过滤,或者对数据包进行封装或者解封装,修改字段对数据包进行转发等;

  • BPF VM(虚拟机):一个 XDP 程序首先是由用户编写用受限制的 C 语言编写的,然后通过 clang 前端编译生成 BPF bytecode,然后加载到 Kernel 之后运行在 eBPF VM 上,通过 JIT 编译器将 bytecode 编译成 CPU 平台指令集。eBPF VM 支持 XDP 程序的动态加载和卸载;

  • BPF Maps<

以上是关于XDP/eBPF — 架构设计的主要内容,如果未能解决你的问题,请参考以下文章

XDP/eBPF — Overview

XDP/eBPF — Overview

XDP/eBPF — 基于 eBPF 的 Linux Kernel 可观测性

XDP/eBPF — 基于 eBPF 的 Linux Kernel 可观测性

XDP/eBPF — eBPF

XDP/eBPF — eBPF