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 😊.