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.
It probably still helps to have a standardised baseline. Then the vendors can just document deviations from it, and the deviations are probably quite small, not necessating new compilers for example (just guessing here ;)).
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
I'm usually against separate "mobile versions" of websites but wow, this needs one.
Wow that's a tl;dr for me. Not only because of the length, also because of format. Not very readable on a smartphone...