From: Jakub Kicinski <kuba@kernel.org>
To: Stanislav Fomichev <sdf@google.com>
Cc: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net,
andrii@kernel.org, martin.lau@linux.dev, song@kernel.org,
yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org,
haoluo@google.com, jolsa@kernel.org, toke@kernel.org,
willemb@google.com, dsahern@kernel.org,
magnus.karlsson@intel.com, bjorn@kernel.org,
maciej.fijalkowski@intel.com, hawk@kernel.org,
yoong.siang.song@intel.com, netdev@vger.kernel.org,
xdp-hints@xdp-project.net
Subject: Re: [PATCH bpf-next v6 02/13] xsk: Add TX timestamp and TX checksum offload support
Date: Wed, 29 Nov 2023 08:49:13 -0800 [thread overview]
Message-ID: <20231129084913.01dc63c2@kernel.org> (raw)
In-Reply-To: <20231127190319.1190813-3-sdf@google.com>
On Mon, 27 Nov 2023 11:03:08 -0800 Stanislav Fomichev wrote:
> This change actually defines the (initial) metadata layout
> that should be used by AF_XDP userspace (xsk_tx_metadata).
> The first field is flags which requests appropriate offloads,
> followed by the offload-specific fields. The supported per-device
> offloads are exported via netlink (new xsk-flags).
>
> The offloads themselves are still implemented in a bit of a
> framework-y fashion that's left from my initial kfunc attempt.
> I'm introducing new xsk_tx_metadata_ops which drivers are
> supposed to implement. The drivers are also supposed
> to call xsk_tx_metadata_request/xsk_tx_metadata_complete in
> the right places. Since xsk_tx_metadata_{request,_complete}
> are static inline, we don't incur any extra overhead doing
> indirect calls.
>
> The benefit of this scheme is as follows:
> - keeps all metadata layout parsing away from driver code
> - makes it easy to grep and see which drivers implement what
> - don't need any extra flags to maintain to keep track of what
> offloads are implemented; if the callback is implemented - the offload
> is supported (used by netlink reporting code)
>
> Two offloads are defined right now:
> 1. XDP_TXMD_FLAGS_CHECKSUM: skb-style csum_start+csum_offset
> 2. XDP_TXMD_FLAGS_TIMESTAMP: writes TX timestamp back into metadata
> area upon completion (tx_timestamp field)
>
> XDP_TXMD_FLAGS_TIMESTAMP is also implemented for XDP_COPY mode: it writes
> SW timestamp from the skb destructor (note I'm reusing hwtstamps to pass
> metadata pointer).
>
> The struct is forward-compatible and can be extended in the future
> by appending more fields.
Acked-by: Jakub Kicinski <kuba@kernel.org>
next prev parent reply other threads:[~2023-11-29 16:49 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-27 19:03 [PATCH bpf-next v6 00/13] xsk: TX metadata Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 01/13] xsk: Support tx_metadata_len Stanislav Fomichev
2023-11-28 3:09 ` Jakub Kicinski
2023-11-27 19:03 ` [PATCH bpf-next v6 02/13] xsk: Add TX timestamp and TX checksum offload support Stanislav Fomichev
2023-11-29 16:49 ` Jakub Kicinski [this message]
2023-11-27 19:03 ` [PATCH bpf-next v6 03/13] tools: ynl: Print xsk-features from the sample Stanislav Fomichev
2023-11-29 16:47 ` Jakub Kicinski
2023-11-27 19:03 ` [PATCH bpf-next v6 04/13] net/mlx5e: Implement AF_XDP TX timestamp and checksum offload Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 05/13] net: stmmac: Add Tx HWTS support to XDP ZC Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 06/13] xsk: Document tx_metadata_len layout Stanislav Fomichev
2023-12-02 17:09 ` Simon Horman
2023-12-04 16:48 ` Stanislav Fomichev
2023-12-07 10:47 ` Simon Horman
2023-11-27 19:03 ` [PATCH bpf-next v6 07/13] xsk: Validate xsk_tx_metadata flags Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 08/13] xsk: Add option to calculate TX checksum in SW Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 09/13] selftests/xsk: Support tx_metadata_len Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 10/13] selftests/bpf: Add csum helpers Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 11/13] selftests/bpf: Add TX side to xdp_metadata Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 12/13] selftests/bpf: Convert xdp_hw_metadata to XDP_USE_NEED_WAKEUP Stanislav Fomichev
2023-11-27 19:03 ` [PATCH bpf-next v6 13/13] selftests/bpf: Add TX side to xdp_hw_metadata Stanislav Fomichev
2023-11-29 23:10 ` [PATCH bpf-next v6 00/13] xsk: TX metadata patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231129084913.01dc63c2@kernel.org \
--to=kuba@kernel.org \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bjorn@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=dsahern@kernel.org \
--cc=haoluo@google.com \
--cc=hawk@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=maciej.fijalkowski@intel.com \
--cc=magnus.karlsson@intel.com \
--cc=martin.lau@linux.dev \
--cc=netdev@vger.kernel.org \
--cc=sdf@google.com \
--cc=song@kernel.org \
--cc=toke@kernel.org \
--cc=willemb@google.com \
--cc=xdp-hints@xdp-project.net \
--cc=yhs@fb.com \
--cc=yoong.siang.song@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.