[dpdk-dev] [PATCH v2 1/7] mbuf: new function to generate raw Tx offload value

Shahaf Shuler shahafs at mellanox.com
Sun Mar 24 09:00:35 CET 2019


Thursday, March 21, 2019 3:52 PM, Ananyev, Konstantin:
> Subject: RE: [dpdk-dev] [PATCH v2 1/7] mbuf: new function to generate raw
> Tx offload value
> 
> Hi Shahaf,
> 
> > Hi Konstantin,
> >
> > Wednesday, March 20, 2019 8:47 PM, Konstantin Ananyev:
> > >  /**
> > >   * The generic rte_mbuf, containing a packet mbuf.
> > >   */
> > > @@ -640,19 +660,24 @@ struct rte_mbuf {
> > >  		uint64_t tx_offload;       /**< combined for easy fetch */
> > >  		__extension__
> > >  		struct {
> > > -			uint64_t l2_len:7;
> > > +			uint64_t l2_len:RTE_MBUF_L2_LEN_BITS;
> > >  			/**< L2 (MAC) Header Length for non-tunneling pkt.
> > >  			 * Outer_L4_len + ... + Inner_L2_len for tunneling
> pkt.
> > >  			 */
> > > -			uint64_t l3_len:9; /**< L3 (IP) Header Length. */
> > > -			uint64_t l4_len:8; /**< L4 (TCP/UDP) Header Length.
> > > */
> > > -			uint64_t tso_segsz:16; /**< TCP TSO segment size */
> > > +			uint64_t l3_len:RTE_MBUF_L3_LEN_BITS;
> > > +			/**< L3 (IP) Header Length. */
> > > +			uint64_t l4_len:RTE_MBUF_L4_LEN_BITS;
> > > +			/**< L4 (TCP/UDP) Header Length. */
> > > +			uint64_t tso_segsz:RTE_MBUF_TSO_SEGSZ_BITS;
> > > +			/**< TCP TSO segment size */
> > >
> > >  			/* fields for TX offloading of tunnels */
> > > -			uint64_t outer_l3_len:9; /**< Outer L3 (IP) Hdr
> > > Length. */
> > > -			uint64_t outer_l2_len:7; /**< Outer L2 (MAC) Hdr
> > > Length. */
> > > +			uint64_t outer_l3_len:RTE_MBUF_OL3_LEN_BITS;
> > > +			/**< Outer L3 (IP) Hdr Length. */
> > > +			uint64_t outer_l2_len:RTE_MBUF_OL2_LEN_BITS;
> > > +			/**< Outer L2 (MAC) Hdr Length. */
> > >
> > > -			/* uint64_t unused:8; */
> > > +			/* uint64_t
> > > unused:RTE_MBUF_TXOFLD_UNUSED_BITS; */
> >
> > I am not sure we want to decide now that this remaining byte is for another
> Tx offloads.
> 
> Not sure, I understand what is your concern here...
> tx_offload field is 8B long, see 'uint64_t tx_offload' above.
> All I did replaced raw number '8' with enum value '
> RTE_MBUF_TXOFLD_UNUSED_BITS' which also evalueate to 8.

Sorry, my bad, missed this union w/ the tx_offload. No further issues 😊. 



More information about the dev mailing list