XDP hardware hints discussion mail archive
 help / color / mirror / Atom feed
From: Alexei Starovoitov <alexei.starovoitov@gmail.com>
To: Larysa Zaremba <larysa.zaremba@intel.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,
	sdf@google.com, haoluo@google.com, jolsa@kernel.org,
	David Ahern <dsahern@gmail.com>, Jakub Kicinski <kuba@kernel.org>,
	Willem de Bruijn <willemb@google.com>,
	Jesper Dangaard Brouer <brouer@redhat.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>,
	Alexander Lobakin <alexandr.lobakin@intel.com>,
	Magnus Karlsson <magnus.karlsson@gmail.com>,
	Maryam Tahhan <mtahhan@redhat.com>,
	xdp-hints@xdp-project.net, netdev@vger.kernel.org,
	Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
	Simon Horman <simon.horman@corigine.com>
Subject: [xdp-hints] Re: [PATCH bpf-next v5 13/21] ice: Implement checksum hint
Date: Thu, 17 Aug 2023 14:58:26 -0700	[thread overview]
Message-ID: <20230817215826.sx7t6mipx7pajuzo@macbook-pro-8.dhcp.thefacebook.com> (raw)
In-Reply-To: <20230811161509.19722-14-larysa.zaremba@intel.com>

On Fri, Aug 11, 2023 at 06:15:01PM +0200, Larysa Zaremba wrote:
> Implement .xmo_rx_csum callback to allow XDP code to determine,
> whether HW has validated any checksums.
> 
> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com>
> ---
>  drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 26 +++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
> index 6ae57a98a4d8..f11a245705bc 100644
> --- a/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
> +++ b/drivers/net/ethernet/intel/ice/ice_txrx_lib.c
> @@ -660,8 +660,34 @@ static int ice_xdp_rx_vlan_tag(const struct xdp_md *ctx, u16 *vlan_tci,
>  	return 0;
>  }
>  
> +/**
> + * ice_xdp_rx_csum - RX checksum XDP hint handler
> + * @ctx: XDP buff pointer
> + * @csum_status: status destination address
> + * @csum: not used
> + */
> +static int ice_xdp_rx_csum(const struct xdp_md *ctx,
> +			   enum xdp_csum_status *csum_status, __wsum *csum)
> +{
> +	const struct ice_xdp_buff *xdp_ext = (void *)ctx;
> +	const union ice_32b_rx_flex_desc *eop_desc;
> +	enum ice_rx_csum_status status;
> +	u16 ptype;
> +
> +	eop_desc = xdp_ext->pkt_ctx.eop_desc;
> +	ptype = ice_get_ptype(eop_desc);
> +
> +	status = ice_get_rx_csum_status(eop_desc, ptype);
> +	if (status & ICE_RX_CSUM_FAIL)
> +		return -ENODATA;
> +
> +	*csum_status = XDP_CHECKSUM_VERIFIED;
> +	return 0;
> +}
> +
>  const struct xdp_metadata_ops ice_xdp_md_ops = {
>  	.xmo_rx_timestamp		= ice_xdp_rx_hw_ts,
>  	.xmo_rx_hash			= ice_xdp_rx_hash,
>  	.xmo_rx_vlan_tag		= ice_xdp_rx_vlan_tag,
> +	.xmo_rx_csum			= ice_xdp_rx_csum,

timestamp hint is implemented by igc, mlx4, mlx5, stmmac
hash hint is implemneted by igc, mlx4, mlx5.
With above csum and vlan hints will be in ice only.
I'd like to see at least one more driver to implement them as well to make sure
the proposed API works for other vendors.

  reply	other threads:[~2023-08-17 21:58 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-11 16:14 [xdp-hints] [PATCH bpf-next v5 00/21] XDP metadata via kfuncs for ice Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 01/21] ice: make RX hash reading code more reusable Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 02/21] ice: make RX HW timestamp " Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 03/21] ice: make RX checksum checking " Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 04/21] ice: Make ptype internal to descriptor info processing Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 05/21] ice: Introduce ice_xdp_buff Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 06/21] ice: Support HW timestamp hint Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 07/21] ice: Support RX hash XDP hint Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 08/21] ice: Support XDP hints in AF_XDP ZC mode Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 09/21] xdp: Add VLAN tag hint Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 10/21] ice: Implement " Larysa Zaremba
2023-08-11 16:14 ` [xdp-hints] [PATCH bpf-next v5 11/21] ice: use VLAN proto from ring packet context in skb path Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 12/21] xdp: Add checksum hint Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 13/21] ice: Implement " Larysa Zaremba
2023-08-17 21:58   ` Alexei Starovoitov [this message]
2023-08-22  9:07     ` [xdp-hints] " Larysa Zaremba
2023-08-22 19:50       ` Alexei Starovoitov
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 14/21] selftests/bpf: Allow VLAN packets in xdp_hw_metadata Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 15/21] net, xdp: allow metadata > 32 Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 16/21] selftests/bpf: Add flags and new hints to xdp_hw_metadata Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 17/21] veth: Implement VLAN tag and checksum XDP hint Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 18/21] net: make vlan_get_tag() return -ENODATA instead of -EINVAL Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 19/21] selftests/bpf: Use AF_INET for TX in xdp_metadata Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 20/21] selftests/bpf: Check VLAN tag and proto " Larysa Zaremba
2023-08-11 16:15 ` [xdp-hints] [PATCH bpf-next v5 21/21] selftests/bpf: check checksum state " Larysa Zaremba
2023-08-11 16:23 ` [xdp-hints] Re: [PATCH bpf-next v5 00/21] XDP metadata via kfuncs for ice Larysa Zaremba
2023-08-15 18:45 ` Stanislav Fomichev

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

  List information: https://lists.xdp-project.net/postorius/lists/xdp-hints.xdp-project.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230817215826.sx7t6mipx7pajuzo@macbook-pro-8.dhcp.thefacebook.com \
    --to=alexei.starovoitov@gmail.com \
    --cc=alexandr.lobakin@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=brouer@redhat.com \
    --cc=daniel@iogearbox.net \
    --cc=dsahern@gmail.com \
    --cc=haoluo@google.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=larysa.zaremba@intel.com \
    --cc=magnus.karlsson@gmail.com \
    --cc=martin.lau@linux.dev \
    --cc=mtahhan@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=sdf@google.com \
    --cc=simon.horman@corigine.com \
    --cc=song@kernel.org \
    --cc=willemb@google.com \
    --cc=willemdebruijn.kernel@gmail.com \
    --cc=xdp-hints@xdp-project.net \
    --cc=yhs@fb.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox