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 >