Je peux essayer de relever quelques clés de l’article:
Author Note: this is a post by long-time Linux kernel networking developer and creator of the Cilium project, Thomas Graf
C’est un post de quelqu’un qui a monté beaucoup de software autour d’eBPF, donc la neutralité de l’article n’est pas trop au rendez-vous.
The work that has been done to enable the offloading of XDP-level programs to the network interface itself can come into play here, moving firewall processing off the host CPU entirely.
Il s’agit de l’offloading pour le filtrage hardware que j’ai mentionné. Il en parle plusieurs fois dans l’article en mentionnant grossomodo les plus gros contributeurs pour cette partie : facebook. Et grossomodo ça marche à peu près que là bas et c’est envisageable que là bas, ce qui se comprend bien quand tu vois la tête que ça fait.
Even so, nftables development has continued, and there has been little talk — until now — of pushing BPF into the core of the firewalling code.
On touche la partie confuse de l’article où il y a un mélange entre bpf, eBPF, bpfilter, probablement parce que ça vient des mêmes personnes côté linux et que bpfilter est à l’origine bpf sur freeBSD.
On peut difficilement dire que BSD BPF == eBPF, même si c’est la même idée derrière. La manpage de bpf sous linux donne des indications là dessus:
Both classic and extended BPF are explained in the kernel source file Documentation/networking/filter.txt.
Florian Westphal has proposed a framework that will operate on top of bpfilter and will convert nftables to BPF
(il manque le lien vers le patch: https://www.spinics.net/lists/netdev/msg486873.html)
nftables actuellement, c’est le frontend et la partie noyau. Tu peux faire de l’iptables avec du nftables en backend, mais rien ne t’empêche de faire du nftables sur ebpf ou d’utiliser ton frontend nftables avec un backend bpfilter.
Enfin, pour sortir un peu de l’article, il ne faut pas oublier ce qu’est eBPF: du code écrit et compilé en userland pour tourner dans le kernel. Sauf si tu es dans un cas particulier (facebook), tu n’auras probablement aucune raison de vouloir faire ça. D’ailleurs je te met au défi de faire fonctionner un parefeu avec bpfilter.