- PFL 是一个实验性项目,旨在将 pf 防火墙的语言和状态语义转换为 Linux 的 XDP(eXpress Data Path),以实现高效的数据包处理。
- PFL 基于 FreeBSD 的 pfSense 遗产构建,使用 Rust 作为控制平面(pfld)和 eBPF 数据平面,利用 XDP 的驱动程序级执行来实现高数据包速率。
- 关键架构特点包括一个尾调用图管道以符合 eBPF 验证器的限制、用于连接状态的 LRU 哈希映射和每 CPU 计数器。
- PFL 在多个 pf 功能上实现了显著的匹配,包括过滤、NAT(IPv4/IPv6)、NAT64、标准化、策略路由以及带有 SYN Cookie 的 DoS 抵抗能力。