[1/2] mbuf: remove deprecated macro
Checks
Commit Message
RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed.
This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was
introduced.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
doc/guides/rel_notes/deprecation.rst | 7 -------
doc/guides/rel_notes/release_19_02.rst | 3 +++
drivers/net/mlx4/mlx4_rxtx.h | 2 +-
drivers/net/mlx5/mlx5_rxtx.h | 2 +-
lib/librte_mbuf/rte_mbuf.h | 8 +-------
test/bpf/mbuf.h | 13 ++++++++++---
6 files changed, 16 insertions(+), 19 deletions(-)
Comments
On 1/14/19 8:20 AM, Yongseok Koh wrote:
> RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed.
> This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was
> introduced.
>
> Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
<...>
> diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst
> index 5a46f1acdc..c4ad072412 100644
> --- a/doc/guides/rel_notes/release_19_02.rst
> +++ b/doc/guides/rel_notes/release_19_02.rst
> @@ -210,6 +210,9 @@ API Changes
> function from now on. Failed to do so will cause
> ``rte_cryptodev_sym_session_create()`` function call return error.
>
> +* mbuf: ``RTE_MBUF_INDIRECT()``, which was deprecated in 18.05, was replaced
> + with ``RTE_MBUF_CLONED()`` and removed in 19.02.
> +
May be order in New Features should be applicable in API changes as well.
14/01/2019 08:40, Andrew Rybchenko:
> On 1/14/19 8:20 AM, Yongseok Koh wrote:
> > RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed.
> > This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was
> > introduced.
> >
> > Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>
> <...>
>
> > diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst
> > index 5a46f1acdc..c4ad072412 100644
> > --- a/doc/guides/rel_notes/release_19_02.rst
> > +++ b/doc/guides/rel_notes/release_19_02.rst
> > @@ -210,6 +210,9 @@ API Changes
> > function from now on. Failed to do so will cause
> > ``rte_cryptodev_sym_session_create()`` function call return error.
> >
> > +* mbuf: ``RTE_MBUF_INDIRECT()``, which was deprecated in 18.05, was replaced
> > + with ``RTE_MBUF_CLONED()`` and removed in 19.02.
> > +
>
> May be order in New Features should be applicable in API changes as well.
Yes
Usually I take care of it when applying, but would be better to be fixed
in the patch itself :)
On Mon, Jan 14, 2019 at 10:50:50AM +0100, Thomas Monjalon wrote:
> 14/01/2019 08:40, Andrew Rybchenko:
> > On 1/14/19 8:20 AM, Yongseok Koh wrote:
> > > RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed.
> > > This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was
> > > introduced.
> > >
> > > Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
> >
> > Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
> >
> > <...>
> >
> > > diff --git a/doc/guides/rel_notes/release_19_02.rst b/doc/guides/rel_notes/release_19_02.rst
> > > index 5a46f1acdc..c4ad072412 100644
> > > --- a/doc/guides/rel_notes/release_19_02.rst
> > > +++ b/doc/guides/rel_notes/release_19_02.rst
> > > @@ -210,6 +210,9 @@ API Changes
> > > function from now on. Failed to do so will cause
> > > ``rte_cryptodev_sym_session_create()`` function call return error.
> > >
> > > +* mbuf: ``RTE_MBUF_INDIRECT()``, which was deprecated in 18.05, was replaced
> > > + with ``RTE_MBUF_CLONED()`` and removed in 19.02.
> > > +
> >
> > May be order in New Features should be applicable in API changes as well.
>
> Yes
> Usually I take care of it when applying, but would be better to be fixed
> in the patch itself :)
>
>
14/01/2019 16:23, Olivier Matz:
> On Mon, Jan 14, 2019 at 10:50:50AM +0100, Thomas Monjalon wrote:
> > 14/01/2019 08:40, Andrew Rybchenko:
> > > On 1/14/19 8:20 AM, Yongseok Koh wrote:
> > > > RTE_MBUF_INDIRECT() is replaced with RTE_MBUF_CLONED() and removed.
> > > > This macro was deprecated in release 18.05 when EXT_ATTACHED_MBUF was
> > > > introduced.
> > > >
> > > > Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
> > >
> > > Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Applied, thanks
@@ -44,13 +44,6 @@ Deprecation Notices
structure would be made internal (or removed if all dependencies are cleared)
in future releases.
-* mbuf: the macro ``RTE_MBUF_INDIRECT()`` will be removed in v18.08 or later and
- replaced with ``RTE_MBUF_CLONED()`` which is already added in v18.05. As
- ``EXT_ATTACHED_MBUF`` is newly introduced in v18.05, ``RTE_MBUF_INDIRECT()``
- can no longer be mutually exclusive with ``RTE_MBUF_DIRECT()`` if the new
- experimental API ``rte_pktmbuf_attach_extbuf()`` is used. Removal of the macro
- is to fix this semantic inconsistency.
-
* ethdev: the legacy filter API, including
``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
@@ -210,6 +210,9 @@ API Changes
function from now on. Failed to do so will cause
``rte_cryptodev_sym_session_create()`` function call return error.
+* mbuf: ``RTE_MBUF_INDIRECT()``, which was deprecated in 18.05, was replaced
+ with ``RTE_MBUF_CLONED()`` and removed in 19.02.
+
ABI Changes
-----------
@@ -179,7 +179,7 @@ uint32_t mlx4_tx_update_ext_mp(struct txq *txq, uintptr_t addr,
static inline struct rte_mempool *
mlx4_mb2mp(struct rte_mbuf *buf)
{
- if (unlikely(RTE_MBUF_INDIRECT(buf)))
+ if (unlikely(RTE_MBUF_CLONED(buf)))
return rte_mbuf_from_indirect(buf)->pool;
return buf->pool;
}
@@ -622,7 +622,7 @@ mlx5_tx_complete(struct mlx5_txq_data *txq)
static inline struct rte_mempool *
mlx5_mb2mp(struct rte_mbuf *buf)
{
- if (unlikely(RTE_MBUF_INDIRECT(buf)))
+ if (unlikely(RTE_MBUF_CLONED(buf)))
return rte_mbuf_from_indirect(buf)->pool;
return buf->pool;
}
@@ -831,12 +831,6 @@ rte_mbuf_to_priv(struct rte_mbuf *m)
#define RTE_MBUF_CLONED(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF)
/**
- * Deprecated.
- * Use RTE_MBUF_CLONED().
- */
-#define RTE_MBUF_INDIRECT(mb) RTE_MBUF_CLONED(mb)
-
-/**
* Returns TRUE if given mbuf has an external buffer, or FALSE otherwise.
*
* External buffer is a user-provided anonymous buffer.
@@ -1629,7 +1623,7 @@ __rte_pktmbuf_free_direct(struct rte_mbuf *m)
{
struct rte_mbuf *md;
- RTE_ASSERT(RTE_MBUF_INDIRECT(m));
+ RTE_ASSERT(RTE_MBUF_CLONED(m));
md = rte_mbuf_from_indirect(m);
@@ -520,14 +520,21 @@ struct rte_mbuf {
/**
- * Returns TRUE if given mbuf is indirect, or FALSE otherwise.
+ * Returns TRUE if given mbuf is cloned by mbuf indirection, or FALSE
+ * otherwise.
+ *
+ * If a mbuf has its data in another mbuf and references it by mbuf
+ * indirection, this mbuf can be defined as a cloned mbuf.
*/
-#define RTE_MBUF_INDIRECT(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF)
+#define RTE_MBUF_CLONED(mb) ((mb)->ol_flags & IND_ATTACHED_MBUF)
/**
* Returns TRUE if given mbuf is direct, or FALSE otherwise.
+ *
+ * If a mbuf embeds its own data after the rte_mbuf structure, this mbuf
+ * can be defined as a direct mbuf.
*/
-#define RTE_MBUF_DIRECT(mb) (!RTE_MBUF_INDIRECT(mb))
+#define RTE_MBUF_DIRECT(mb) (!RTE_MBUF_CLONED(mb))
/**
* Private data in case of pktmbuf pool.