bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop
Based on the discussion in [0], update the bpf_redirect_neigh() helper to accept an optional parameter specifying the nexthop information. This makes it possible to combine bpf_fib_lookup() and bpf_redirect_neigh() without incurring a duplicate FIB lookup - since the FIB lookup helper will return the nexthop information even if no neighbour is present, this can simply be passed on to bpf_redirect_neigh() if bpf_fib_lookup() returns BPF_FIB_LKUP_RET_NO_NEIGH. Thus fix & extend it before helper API is frozen. [0] https://lore.kernel.org/bpf/393e17fc-d187-3a8d-2f0d-a627c7c63fca@iogearbox.net/ Signed-off-by:Toke Høiland-Jørgensen <toke@redhat.com> Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net> Reviewed-by:
David Ahern <dsahern@kernel.org> Link: https://lore.kernel.org/bpf/160322915615.32199.1187570224032024535.stgit@toke.dk
Showing
- include/linux/filter.h 9 additions, 0 deletionsinclude/linux/filter.h
- include/uapi/linux/bpf.h 18 additions, 4 deletionsinclude/uapi/linux/bpf.h
- net/core/filter.c 99 additions, 59 deletionsnet/core/filter.c
- scripts/bpf_helpers_doc.py 1 addition, 0 deletionsscripts/bpf_helpers_doc.py
- tools/include/uapi/linux/bpf.h 18 additions, 4 deletionstools/include/uapi/linux/bpf.h
Loading
Please register or sign in to comment