Right, for offload, but XDP programs also depend on helper definitions, which themselves have not been consistent between versions of the Linux kernel.
I mean, there really is working XDP offload (Netronome, right?) so it can be made to work, but this spec doesn't define the hardest part of interoperability.
By the way, this article is published as part of the tmp.0ut zine, and the CFP for the next issue is currently open: https://tmpout.sh/blog/vol4-cfp.html
BPF recently got published as an RFC[1], posted here[2] today and earlier here[3][4].
[1]: https://datatracker.ietf.org/doc/html/rfc9669
[2]: https://news.ycombinator.com/item?id=42051950
[3]: https://news.ycombinator.com/item?id=42024377
[4]: https://news.ycombinator.com/item?id=42038371
This is so weird to me. It's not an interoperable standard. It isn't even interoperable on Linux, the one OS where it's popular.
If you wanted it to become an interoperable standard, that's the obvious step, right?
There is an explanation here: https://lwn.net/ml/all/20241105035101.GD41004@maniforge/
Right, for offload, but XDP programs also depend on helper definitions, which themselves have not been consistent between versions of the Linux kernel.
And some (most?) of the helpers end up being "read memory at X", which has some obvious problems with offloading.
I mean, there really is working XDP offload (Netronome, right?) so it can be made to work, but this spec doesn't define the hardest part of interoperability.
By the way, this article is published as part of the tmp.0ut zine, and the CFP for the next issue is currently open: https://tmpout.sh/blog/vol4-cfp.html