[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z9604qRXSb2eCwSg@boxer>
Date: Sat, 22 Mar 2025 14:02:26 +0100
From: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
To: Tushar Vyavahare <tushar.vyavahare@...el.com>
CC: <bpf@...r.kernel.org>, <netdev@...r.kernel.org>, <bjorn@...nel.org>,
<magnus.karlsson@...el.com>, <jonathan.lemon@...il.com>,
<davem@...emloft.net>, <kuba@...nel.org>, <pabeni@...hat.com>,
<ast@...nel.org>, <daniel@...earbox.net>, <tirthendu.sarkar@...el.com>
Subject: Re: [PATCH bpf-next v4 1/2] selftests/xsk: Add packet stream
replacement function
On Fri, Mar 21, 2025 at 12:54:18AM +0000, Tushar Vyavahare wrote:
> Add pkt_stream_replace_ifobject function to replace the packet stream for
> a given ifobject.
>
> Enable separate TX and RX packet replacement, allowing RX side packet
> length adjustments using bpf_xdp_adjust_tail() in the upcoming patch.
> Currently, pkt_stream_replace() works on both TX and RX packet streams,
> and this new function provides the ability to modify one of them.
>
> Signed-off-by: Tushar Vyavahare <tushar.vyavahare@...el.com>
> ---
> tools/testing/selftests/bpf/xskxceiver.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@...el.com>
>
> diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c
> index 11f047b8af75..d60ee6a31c09 100644
> --- a/tools/testing/selftests/bpf/xskxceiver.c
> +++ b/tools/testing/selftests/bpf/xskxceiver.c
> @@ -757,14 +757,15 @@ static struct pkt_stream *pkt_stream_clone(struct pkt_stream *pkt_stream)
> return pkt_stream_generate(pkt_stream->nb_pkts, pkt_stream->pkts[0].len);
> }
>
> -static void pkt_stream_replace(struct test_spec *test, u32 nb_pkts, u32 pkt_len)
> +static void pkt_stream_replace_ifobject(struct ifobject *ifobj, u32 nb_pkts, u32 pkt_len)
> {
> - struct pkt_stream *pkt_stream;
> + ifobj->xsk->pkt_stream = pkt_stream_generate(nb_pkts, pkt_len);
> +}
>
> - pkt_stream = pkt_stream_generate(nb_pkts, pkt_len);
> - test->ifobj_tx->xsk->pkt_stream = pkt_stream;
> - pkt_stream = pkt_stream_generate(nb_pkts, pkt_len);
> - test->ifobj_rx->xsk->pkt_stream = pkt_stream;
> +static void pkt_stream_replace(struct test_spec *test, u32 nb_pkts, u32 pkt_len)
> +{
> + pkt_stream_replace_ifobject(test->ifobj_tx, nb_pkts, pkt_len);
> + pkt_stream_replace_ifobject(test->ifobj_rx, nb_pkts, pkt_len);
> }
>
> static void __pkt_stream_replace_half(struct ifobject *ifobj, u32 pkt_len,
> --
> 2.34.1
>
Powered by blists - more mailing lists