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 <tho...@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
> 

Reply via email to