From: Daniel Borkmann <dan...@iogearbox.net>
Date: Wed, 19 Apr 2017 23:01:17 +0200

> Add napi_id access to __sk_buff for socket filter program types, tc
> program types and other bpf_convert_ctx_access() users. Having access
> to skb->napi_id is useful for per RX queue listener siloing, f.e.
> in combination with SO_ATTACH_REUSEPORT_EBPF and when busy polling is
> used, meaning SO_REUSEPORT enabled listeners can then select the
> corresponding socket at SYN time already [1]. The skb is marked via
> skb_mark_napi_id() early in the receive path (e.g., napi_gro_receive()).
> 
> Currently, sockets can only use SO_INCOMING_NAPI_ID from 6d4339028b35
> ("net: Introduce SO_INCOMING_NAPI_ID") as a socket option to look up
> the NAPI ID associated with the queue for steering, which requires a
> prior sk_mark_napi_id() after the socket was looked up.
> 
> Semantics for the __sk_buff napi_id access are similar, meaning if
> skb->napi_id is < MIN_NAPI_ID (e.g. outgoing packets using sender_cpu),
> then an invalid napi_id of 0 is returned to the program, otherwise a
> valid non-zero napi_id.
> 
>   [1] 
> http://netdevconf.org/2.1/slides/apr6/dumazet-BUSY-POLLING-Netdev-2.1.pdf
> 
> Suggested-by: Eric Dumazet <eduma...@google.com>
> Signed-off-by: Daniel Borkmann <dan...@iogearbox.net>
> Acked-by: Alexei Starovoitov <a...@kernel.org>

Applied, thanks Daniel.

Reply via email to