you can use generic af_xdp which sits at the TC layer. Just get a bit less performance.
That's what the veth examples are using
That's what the veth examples are using