Björn Töpel [off-list ref] writes:
On Mon, 21 Oct 2019 at 15:37, Björn Töpel [off-list ref] wrote:
quoted
On Mon, 21 Oct 2019 at 14:19, Toke Høiland-Jørgensen [off-list ref] wrote:
quoted
Björn Töpel [off-list ref] writes:
[...]
quoted
quoted
bpf_redirect_map() returns a 32-bit signed int, so the upper 32-bit
will need to be cleared. Having an explicit AND is one instruction
less than two shifts. So, it's an optimization (every instruction is
sacred).
OIC. Well, a comment explaining that might be nice (since you're doing
per-instruction comments anyway)? :)
Sure, I can do a v3 with a comment, unless someone has a better idea
avoiding both shifts and AND.
Thanks for taking a look!
Now wait, there are the JMP32 instructions that Jiong added. So,
shifts/AND can be avoided. Now, regarding backward compat... JMP32 is
pretty new. I need to think a bit how to approach this. I mean, I'd
like to be able to use new BPF instructions.
Well, they went into kernel 5.1 AFAICT; does AF_XDP even work properly
in kernels older than that? For the xdp-tutorial we've just been telling
people to upgrade their kernels to use it (see, e.g.,
https://github.com/xdp-project/xdp-tutorial/issues/76).
-Toke