[dpdk-dev] [PATCH v2 05/14] net/ark: switch timestamp to dynamic mbuf field
Olivier Matz
olivier.matz at 6wind.com
Mon Nov 2 16:32:31 CET 2020
On Sun, Nov 01, 2020 at 07:06:17PM +0100, Thomas Monjalon wrote:
> The mbuf timestamp is moved to a dynamic field
> in order to allow removal of the deprecated static field.
> The related dynamic mbuf flag is set, although was missing previously.
>
> The timestamp is set if configured for at least one device.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
> drivers/net/ark/ark_ethdev.c | 23 +++++++++++++++++++++++
> drivers/net/ark/ark_ethdev_rx.c | 10 +++++++++-
> 2 files changed, 32 insertions(+), 1 deletion(-)
<...>
> --- a/drivers/net/ark/ark_ethdev_rx.c
> +++ b/drivers/net/ark/ark_ethdev_rx.c
> @@ -15,6 +15,9 @@
> #define ARK_RX_META_OFFSET (RTE_PKTMBUF_HEADROOM - ARK_RX_META_SIZE)
> #define ARK_RX_MAX_NOCHAIN (RTE_MBUF_DEFAULT_DATAROOM)
>
> +extern uint64_t ark_timestamp_rx_dynflag;
> +extern int ark_timestamp_dynfield_offset;
> +
Wouldn't it be better in a .h ?
Maybe ark_ethdev_rx.h
> /* Forward declarations */
> struct ark_rx_queue;
> struct ark_rx_meta;
> @@ -272,7 +275,12 @@ eth_ark_recv_pkts(void *rx_queue,
> mbuf->port = meta->port;
> mbuf->pkt_len = meta->pkt_len;
> mbuf->data_len = meta->pkt_len;
> - mbuf->timestamp = meta->timestamp;
> + /* set timestamp if enabled at least on one device */
> + if (ark_timestamp_rx_dynflag > 0) {
> + *RTE_MBUF_DYNFIELD(mbuf, ark_timestamp_dynfield_offset,
> + rte_mbuf_timestamp_t *) = meta->timestamp;
> + mbuf->ol_flags |= ark_timestamp_rx_dynflag;
> + }
> rte_pmd_ark_mbuf_rx_userdata_set(mbuf, meta->user_data);
>
> if (ARK_DEBUG_CORE) { /* debug sanity checks */
> --
> 2.28.0
>
More information about the dev
mailing list