Hi XDP-folks, This two patch series contain two optimizations for the bpf_redirect_map() helper and the xdp_do_redirect() function. The bpf_redirect_map() optimization is about avoiding the map lookup dispatching. Instead of having a switch-statement and selecting the correct lookup function, we let the verifier patch the bpf_redirect_map() call to a specific lookup function. This way the run-time lookup is avoided. The xdp_do_redirect() patch restructures the code, so that the map pointer indirection can be avoided. Performance-wise I got 3% improvement for XSKMAP (sample:xdpsock/rx-drop), and 4% (sample:xdp_redirect_map) on my machine. More details in each commit. Changes since the RFC is outlined in each commit. Cheers, Björn Björn Töpel (2): bpf, xdp: per-map bpf_redirect_map functions for XDP bpf, xdp: restructure redirect actions include/linux/bpf.h | 21 ++-- include/linux/filter.h | 13 ++- include/net/xdp_sock.h | 6 +- include/trace/events/xdp.h | 66 ++++++----- kernel/bpf/cpumap.c | 3 +- kernel/bpf/devmap.c | 5 +- kernel/bpf/verifier.c | 28 +++-- net/core/filter.c | 217 ++++++++++++++++++------------------- net/xdp/xskmap.c | 1 - 9 files changed, 193 insertions(+), 167 deletions(-) base-commit: 7b1e385c9a488de9291eaaa412146d3972e9dec5 -- 2.27.0