[dpdk-dev] [PATCH v2 14/14] mbuf: remove deprecated timestamp field

Olivier Matz olivier.matz at 6wind.com
Mon Nov 2 16:41:46 CET 2020


On Sun, Nov 01, 2020 at 07:06:26PM +0100, Thomas Monjalon wrote:
> As announced in the deprecation note, the field timestamp
> is removed to give more space to the dynamic fields.
> The related offload flag PKT_RX_TIMESTAMP is also removed.
> 
> This is how the mbuf layout looks like (pahole-style):
> 
> word  type                              name                byte  size
>  0    void *                            buf_addr;         /*   0 +  8 */
>  1    rte_iova_t                        buf_iova          /*   8 +  8 */
>       /* --- RTE_MARKER64               rearm_data;                   */
>  2    uint16_t                          data_off;         /*  16 +  2 */
>       uint16_t                          refcnt;           /*  18 +  2 */
>       uint16_t                          nb_segs;          /*  20 +  2 */
>       uint16_t                          port;             /*  22 +  2 */
>  3    uint64_t                          ol_flags;         /*  24 +  8 */
>       /* --- RTE_MARKER                 rx_descriptor_fields1;        */
>  4    uint32_t             union        packet_type;      /*  32 +  4 */
>       uint32_t                          pkt_len;          /*  36 +  4 */
>  5    uint16_t                          data_len;         /*  40 +  2 */
>       uint16_t                          vlan_tci;         /*  42 +  2 */
>  5.5  uint64_t             union        hash;             /*  44 +  8 */
>  6.5  uint16_t                          vlan_tci_outer;   /*  52 +  2 */
>       uint16_t                          buf_len;          /*  54 +  2 */
>  7    uint64_t                          dynfield0[1];     /*  56 +  8 */
>       /* --- RTE_MARKER                 cacheline1;                   */
>  8    struct rte_mempool *              pool;             /*  64 +  8 */
>  9    struct rte_mbuf *                 next;             /*  72 +  8 */
> 10    uint64_t             union        tx_offload;       /*  80 +  8 */
> 11    struct rte_mbuf_ext_shared_info * shinfo;           /*  88 +  8 */
> 12    uint16_t                          priv_size;        /*  96 +  2 */
>       uint16_t                          timesync;         /*  98 +  2 */
> 12.5  uint32_t                          dynfield1[7];     /* 100 + 28 */
> 16    /* --- END                                             128      */
> 
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> Acked-by: Ray Kinsella <mdr at ashroe.eu>

<...>

> --- a/lib/librte_mbuf/rte_mbuf_core.h
> +++ b/lib/librte_mbuf/rte_mbuf_core.h
> @@ -149,11 +149,6 @@ extern "C" {
>   */
>  #define PKT_RX_LRO           (1ULL << 16)
>  
> -/**
> - * Indicate that the timestamp field in the mbuf is valid.
> - */
> -#define PKT_RX_TIMESTAMP     (1ULL << 17)
> -
>  /**
>   * Indicate that security offload processing was applied on the RX packet.
>   */

nit: can we keep a comment here to highlight the flag 17 is unused?


More information about the dev mailing list