bpf: Improve bpf_redirect_neigh helper description
authorDaniel Borkmann <daniel@iogearbox.net>
Sat, 10 Oct 2020 23:40:01 +0000 (01:40 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sun, 11 Oct 2020 17:21:04 +0000 (10:21 -0700)
Follow-up to address David's feedback that we should better describe internals
of the bpf_redirect_neigh() helper.

Suggested-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: David Ahern <dsahern@gmail.com>
Link: https://lore.kernel.org/bpf/20201010234006.7075-2-daniel@iogearbox.net
include/uapi/linux/bpf.h
tools/include/uapi/linux/bpf.h

index 42d2df7..4272cc5 100644 (file)
@@ -3679,10 +3679,14 @@ union bpf_attr {
  *             Redirect the packet to another net device of index *ifindex*
  *             and fill in L2 addresses from neighboring subsystem. This helper
  *             is somewhat similar to **bpf_redirect**\ (), except that it
- *             fills in e.g. MAC addresses based on the L3 information from
- *             the packet. This helper is supported for IPv4 and IPv6 protocols.
+ *             populates L2 addresses as well, meaning, internally, the helper
+ *             performs a FIB lookup based on the skb's networking header to
+ *             get the address of the next hop and then relies on the neighbor
+ *             lookup for the L2 address of the nexthop.
+ *
  *             The *flags* argument is reserved and must be 0. The helper is
- *             currently only supported for tc BPF program types.
+ *             currently only supported for tc BPF program types, and enabled
+ *             for IPv4 and IPv6 protocols.
  *     Return
  *             The helper returns **TC_ACT_REDIRECT** on success or
  *             **TC_ACT_SHOT** on error.
index 42d2df7..4272cc5 100644 (file)
@@ -3679,10 +3679,14 @@ union bpf_attr {
  *             Redirect the packet to another net device of index *ifindex*
  *             and fill in L2 addresses from neighboring subsystem. This helper
  *             is somewhat similar to **bpf_redirect**\ (), except that it
- *             fills in e.g. MAC addresses based on the L3 information from
- *             the packet. This helper is supported for IPv4 and IPv6 protocols.
+ *             populates L2 addresses as well, meaning, internally, the helper
+ *             performs a FIB lookup based on the skb's networking header to
+ *             get the address of the next hop and then relies on the neighbor
+ *             lookup for the L2 address of the nexthop.
+ *
  *             The *flags* argument is reserved and must be 0. The helper is
- *             currently only supported for tc BPF program types.
+ *             currently only supported for tc BPF program types, and enabled
+ *             for IPv4 and IPv6 protocols.
  *     Return
  *             The helper returns **TC_ACT_REDIRECT** on success or
  *             **TC_ACT_SHOT** on error.