DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/4] mbuf: add accessor function for private data area
@ 2018-06-07 23:54 Dan Gora
  2018-06-08  8:30 ` Burakov, Anatoly
  2018-06-08  9:06 ` Andrew Rybchenko
  0 siblings, 2 replies; 7+ messages in thread
From: Dan Gora @ 2018-06-07 23:54 UTC (permalink / raw)
  To: dev; +Cc: Dan Gora, Olivier Matz

Add an inline accessor function to return the starting address of
the private data area in the supplied mbuf.

If the user did not allocate space for a private data area in the
mbuf's memory pool, then return NULL.

This allows applications to easily access the private data area
between the struct rte_mbuf and the data buffer in the specified mbuf
without creating private macros or accessor functions.

Signed-off-by: Dan Gora <dg@adax.com>
---
 lib/librte_mbuf/rte_mbuf.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 8e6b4d292..0c4f8f698 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -728,6 +728,25 @@ rte_mbuf_to_baddr(struct rte_mbuf *md)
 	return buffer_addr;
 }
 
+/**
+ * Return the starting address of the private data area embedded in
+ * the given mbuf.
+ *
+ * @param md
+ *   The pointer to the mbuf.
+ * @return
+ *   The starting address of the private data area or NULL if there
+ *   is no private data area.
+ */
+static inline void *
+rte_mbuf_to_priv(struct rte_mbuf *md)
+{
+	if (md->priv_size == 0)
+		return NULL;
+
+	return RTE_PTR_ADD(md, sizeof(struct rte_mbuf));
+}
+
 /**
  * Returns TRUE if given mbuf is cloned by mbuf indirection, or FALSE
  * otherwise.
-- 
2.17.0.582.gccdcbd54c4

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-06-12  2:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-07 23:54 [dpdk-dev] [PATCH 1/4] mbuf: add accessor function for private data area Dan Gora
2018-06-08  8:30 ` Burakov, Anatoly
2018-06-08  9:06 ` Andrew Rybchenko
2018-06-08 17:19   ` Wiles, Keith
2018-06-09  0:24     ` Dan Gora
2018-06-09  9:23       ` Andrew Rybchenko
2018-06-12  2:24         ` Dan Gora

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).