bpf: Add rx_queue_mapping to bpf_sock
authorAmritha Nambiar <amritha.nambiar@intel.com>
Wed, 27 May 2020 00:34:36 +0000 (17:34 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 1 Jun 2020 21:38:23 +0000 (14:38 -0700)
commitc3c16f2ea6d20159903cf93afbb1155f3d8348d5
tree0948edc2fb124f13909092894f1946e0dfebcb43
parente255d3273920dfd2d4e1cf2afe565b942c122219
bpf: Add rx_queue_mapping to bpf_sock

Add "rx_queue_mapping" to bpf_sock. This gives read access for the
existing field (sk_rx_queue_mapping) of struct sock from bpf_sock.
Semantics for the bpf_sock rx_queue_mapping access are similar to
sk_rx_queue_get(), i.e the value NO_QUEUE_MAPPING is not allowed
and -1 is returned in that case. This is useful for transmit queue
selection based on the received queue index which is cached in the
socket in the receive path.

v3: Addressed review comments to add usecase in patch description,
    and fixed default value for rx_queue_mapping.
v2: fixed build error for CONFIG_XPS wrapping, reported by
    kbuild test robot <lkp@intel.com>

Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
include/uapi/linux/bpf.h
net/core/filter.c