[dpdk-dev] Query on the modified rte_mbuf structure
Bruce Richardson
bruce.richardson at intel.com
Mon Jan 5 13:03:03 CET 2015
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
More information about the dev
mailing list