On Tue, Dec 30, 2014 at 08:58:01AM +0200, Tapio Tallgren wrote: > Hi, > > I am not sure if I understand the question correctly, but there was a > change to the rte_mbuf structure with > patch ea672a8b1655bbb44876d2550ff56f384968a43b. It got rid of the pkt > member in rte_mbuf. Here is an example of how to fix it: > > - eth_hdr = (struct ether_hdr *) mb->pkt.data; > + eth_hdr = (struct ether_hdr *) mb->data; > > Another way of answering your question is that it is "data" in rte_mbuf: > > - struct rte_pktmbuf pkt; > + /* valid for any segment */ > + struct rte_mbuf *next; /**< Next segment of scattered packet. */ > + void* data; /**< Start address of data in segment > buffer. */ > + uint16_t data_len; /**< Amount of data in segment buffer. */ > > > > > On Thu, Dec 25, 2014 at 11:24 AM, Shankari Vaidyalingam < > shankari.v2k6 at gmail.com> wrote: > > > Hi, > > > > > > I can see that in the recent releases of DPDK the rte_mbuf structure has > > undergone some changes. > > Would like to know which field in the rte_mbuf data structure holds the > > exact payload of the received packet in the modified structure. > > > > Regards > > Shankari > > > >
Best way to get at the packet data is to use the rte_pktmbuf_mtod macro defined in rte_mbuf.h. This macro should be always kept up-to-date to refer to the packet data, irrespective of changes to the underlying data structure. /Bruce