The initial role of rte_ctrlmbuf is to carry generic messages (data
pointer + data length) but it's not used by the DPDK or it applications.
Keeping it implies:
  - loosing 1 byte in the rte_mbuf structure
  - having some dead code rte_mbuf.[ch]

This patch removes this feature. Thanks to it, it is now possible to
simplify the rte_mbuf structure by merging the rte_pktmbuf structure
in it. This is done in next commit.

Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
---
 app/test-pmd/cmdline.c                   |   1 -
 app/test-pmd/testpmd.c                   |   2 -
 app/test-pmd/txonly.c                    |   2 +-
 app/test/commands.c                      |   1 -
 app/test/test_mbuf.c                     |  72 +------------
 examples/ipv4_multicast/main.c           |   2 +-
 lib/librte_mbuf/rte_mbuf.c               |  65 +++---------
 lib/librte_mbuf/rte_mbuf.h               | 175 ++++++-------------------------
 lib/librte_pmd_e1000/em_rxtx.c           |   2 +-
 lib/librte_pmd_e1000/igb_rxtx.c          |   2 +-
 lib/librte_pmd_ixgbe/ixgbe_rxtx.c        |   4 +-
 lib/librte_pmd_virtio/virtio_rxtx.c      |   2 +-
 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c    |   2 +-
 lib/librte_pmd_xenvirt/rte_eth_xenvirt.c |   2 +-
 14 files changed, 54 insertions(+), 280 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 7becedc..e3d1849 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -5010,7 +5010,6 @@ dump_struct_sizes(void)
 #define DUMP_SIZE(t) printf("sizeof(" #t ") = %u\n", (unsigned)sizeof(t));
        DUMP_SIZE(struct rte_mbuf);
        DUMP_SIZE(struct rte_pktmbuf);
-       DUMP_SIZE(struct rte_ctrlmbuf);
        DUMP_SIZE(struct rte_mempool);
        DUMP_SIZE(struct rte_ring);
 #undef DUMP_SIZE
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 9c56914..76b3823 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -389,13 +389,11 @@ testpmd_mbuf_ctor(struct rte_mempool *mp,
        mb_ctor_arg = (struct mbuf_ctor_arg *) opaque_arg;
        mb = (struct rte_mbuf *) raw_mbuf;

-       mb->type         = RTE_MBUF_PKT;
        mb->pool         = mp;
        mb->buf_addr     = (void *) ((char *)mb + mb_ctor_arg->seg_buf_offset);
        mb->buf_physaddr = (uint64_t) (rte_mempool_virt2phy(mp, mb) +
                        mb_ctor_arg->seg_buf_offset);
        mb->buf_len      = mb_ctor_arg->seg_buf_size;
-       mb->type         = RTE_MBUF_PKT;
        mb->ol_flags     = 0;
        mb->pkt.data     = (char *) mb->buf_addr + RTE_PKTMBUF_HEADROOM;
        mb->pkt.nb_segs  = 1;
diff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c
index 1cf2574..1f066d0 100644
--- a/app/test-pmd/txonly.c
+++ b/app/test-pmd/txonly.c
@@ -93,7 +93,7 @@ tx_mbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);
        return (m);
 }

diff --git a/app/test/commands.c b/app/test/commands.c
index b145036..c69544b 100644
--- a/app/test/commands.c
+++ b/app/test/commands.c
@@ -262,7 +262,6 @@ dump_struct_sizes(void)
 #define DUMP_SIZE(t) printf("sizeof(" #t ") = %u\n", (unsigned)sizeof(t));
        DUMP_SIZE(struct rte_mbuf);
        DUMP_SIZE(struct rte_pktmbuf);
-       DUMP_SIZE(struct rte_ctrlmbuf);
        DUMP_SIZE(struct rte_mempool);
        DUMP_SIZE(struct rte_ring);
 #undef DUMP_SIZE
diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c
index fe0f4f6..07b5551 100644
--- a/app/test/test_mbuf.c
+++ b/app/test/test_mbuf.c
@@ -80,7 +80,6 @@
 #define MAKE_STRING(x)          # x

 static struct rte_mempool *pktmbuf_pool = NULL;
-static struct rte_mempool *ctrlmbuf_pool = NULL;

 #if defined RTE_MBUF_REFCNT  && defined RTE_MBUF_REFCNT_ATOMIC

@@ -272,8 +271,8 @@ test_one_pktmbuf(void)
                GOTO_FAIL("Buffer should be continuous");
        memset(hdr, 0x55, MBUF_TEST_HDR2_LEN);

-       rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
-       rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 0);
+       rte_mbuf_sanity_check(m, 1);
+       rte_mbuf_sanity_check(m, 0);
        rte_pktmbuf_dump(m, 0);

        /* this prepend should fail */
@@ -320,48 +319,6 @@ fail:
        return -1;
 }

-/*
- * test control mbuf
- */
-static int
-test_one_ctrlmbuf(void)
-{
-       struct rte_mbuf *m = NULL;
-       char message[] = "This is a message carried by a ctrlmbuf";
-
-       printf("Test ctrlmbuf API\n");
-
-       /* alloc a mbuf */
-
-       m = rte_ctrlmbuf_alloc(ctrlmbuf_pool);
-       if (m == NULL)
-               GOTO_FAIL("Cannot allocate mbuf");
-       if (rte_ctrlmbuf_len(m) != 0)
-               GOTO_FAIL("Bad length");
-
-       /* set data */
-       rte_ctrlmbuf_data(m) = &message;
-       rte_ctrlmbuf_len(m) = sizeof(message);
-
-       /* read data */
-       if (rte_ctrlmbuf_data(m) != message)
-               GOTO_FAIL("Invalid data pointer");
-       if (rte_ctrlmbuf_len(m) != sizeof(message))
-               GOTO_FAIL("Invalid len");
-
-       rte_mbuf_sanity_check(m, RTE_MBUF_CTRL, 0);
-
-       /* free mbuf */
-       rte_ctrlmbuf_free(m);
-       m = NULL;
-       return 0;
-
-fail:
-       if (m)
-               rte_ctrlmbuf_free(m);
-       return -1;
-}
-
 static int
 testclone_testupdate_testdetach(void)
 {
@@ -744,7 +701,7 @@ verify_mbuf_check_panics(struct rte_mbuf *buf)
        pid = fork();

        if (pid == 0) {
-               rte_mbuf_sanity_check(buf, RTE_MBUF_PKT, 1); /* should panic */
+               rte_mbuf_sanity_check(buf, 1); /* should panic */
                exit(0);  /* return normally if it doesn't panic */
        } else if (pid < 0){
                printf("Fork Failed\n");
@@ -781,13 +738,6 @@ test_failing_mbuf_sanity_check(void)
        }

        badbuf = *buf;
-       badbuf.type = (uint8_t)-1;
-       if (verify_mbuf_check_panics(&badbuf)) {
-               printf("Error with bad-type mbuf test\n");
-               return -1;
-       }
-
-       badbuf = *buf;
        badbuf.pool = NULL;
        if (verify_mbuf_check_panics(&badbuf)) {
                printf("Error with bad-pool mbuf test\n");
@@ -889,22 +839,6 @@ test_mbuf(void)
                return -1;
        }

-       /* create ctrlmbuf pool if it does not exist */
-       if (ctrlmbuf_pool == NULL) {
-               ctrlmbuf_pool =
-                       rte_mempool_create("test_ctrlmbuf_pool", NB_MBUF,
-                                          sizeof(struct rte_mbuf), 32, 0,
-                                          NULL, NULL,
-                                          rte_ctrlmbuf_init, NULL,
-                                          SOCKET_ID_ANY, 0);
-       }
-
-       /* test control mbuf */
-       if (test_one_ctrlmbuf() < 0) {
-               printf("test_one_ctrlmbuf() failed\n");
-               return -1;
-       }
-
        /* test free pktmbuf segment one by one */
        if (test_pktmbuf_free_segment() < 0) {
                printf("test_pktmbuf_free_segment() failed.\n");
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 3bd37e4..3967d7a 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -343,7 +343,7 @@ mcast_out_pkt(struct rte_mbuf *pkt, int use_clone)

        hdr->ol_flags = pkt->ol_flags;

-       __rte_mbuf_sanity_check(hdr, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(hdr, 1);
        return (hdr);
 }

diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index bffc2c4..b2e2f0f 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -60,32 +60,6 @@
 #include <rte_hexdump.h>

 /*
- * ctrlmbuf constructor, given as a callback function to
- * rte_mempool_create()
- */
-void
-rte_ctrlmbuf_init(struct rte_mempool *mp,
-                 __attribute__((unused)) void *opaque_arg,
-                 void *_m,
-                 __attribute__((unused)) unsigned i)
-{
-       struct rte_mbuf *m = _m;
-
-       memset(m, 0, mp->elt_size);
-
-       /* start of buffer is just after mbuf structure */
-       m->buf_addr = (char *)m + sizeof(struct rte_mbuf);
-       m->buf_physaddr = rte_mempool_virt2phy(mp, m) +
-                       sizeof(struct rte_mbuf);
-       m->buf_len = (uint16_t) (mp->elt_size - sizeof(struct rte_mbuf));
-
-       /* init some constant fields */
-       m->type = RTE_MBUF_CTRL;
-       m->ctrl.data = (char *)m->buf_addr;
-       m->pool = (struct rte_mempool *)mp;
-}
-
-/*
  * pktmbuf pool constructor, given as a callback function to
  * rte_mempool_create()
  */
@@ -133,7 +107,6 @@ rte_pktmbuf_init(struct rte_mempool *mp,
        m->pkt.data = (char*) m->buf_addr + RTE_MIN(RTE_PKTMBUF_HEADROOM, 
m->buf_len);

        /* init some constant fields */
-       m->type = RTE_MBUF_PKT;
        m->pool = mp;
        m->pkt.nb_segs = 1;
        m->pkt.in_port = 0xff;
@@ -141,16 +114,13 @@ rte_pktmbuf_init(struct rte_mempool *mp,

 /* do some sanity checks on a mbuf: panic if it fails */
 void
-rte_mbuf_sanity_check(const struct rte_mbuf *m, enum rte_mbuf_type t,
-                     int is_header)
+rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)
 {
        const struct rte_mbuf *m_seg;
        unsigned nb_segs;

        if (m == NULL)
                rte_panic("mbuf is NULL\n");
-       if (m->type != (uint8_t)t)
-               rte_panic("bad mbuf type\n");

        /* generic checks */
        if (m->pool == NULL)
@@ -166,29 +136,18 @@ rte_mbuf_sanity_check(const struct rte_mbuf *m, enum 
rte_mbuf_type t,
                rte_panic("bad ref cnt\n");
 #endif

-       /* nothing to check for ctrl messages */
-       if (m->type == RTE_MBUF_CTRL)
+       /* nothing to check for sub-segments */
+       if (is_header == 0)
                return;

-       /* check pkt consistency */
-       else if (m->type == RTE_MBUF_PKT) {
-
-               /* nothing to check for sub-segments */
-               if (is_header == 0)
-                       return;
-
-               nb_segs = m->pkt.nb_segs;
-               m_seg = m;
-               while (m_seg && nb_segs != 0) {
-                       m_seg = m_seg->pkt.next;
-                       nb_segs --;
-               }
-               if (nb_segs != 0)
-                       rte_panic("bad nb_segs\n");
-               return;
+       nb_segs = m->pkt.nb_segs;
+       m_seg = m;
+       while (m_seg && nb_segs != 0) {
+               m_seg = m_seg->pkt.next;
+               nb_segs --;
        }
-
-       rte_panic("unknown mbuf type\n");
+       if (nb_segs != 0)
+               rte_panic("bad nb_segs\n");
 }

 /* dump a mbuf on console */
@@ -198,7 +157,7 @@ rte_pktmbuf_dump(const struct rte_mbuf *m, unsigned 
dump_len)
        unsigned int len;
        unsigned nb_segs;

-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        printf("dump mbuf at 0x%p, phys=%"PRIx64", buf_len=%u\n",
               m, (uint64_t)m->buf_physaddr, (unsigned)m->buf_len);
@@ -208,7 +167,7 @@ rte_pktmbuf_dump(const struct rte_mbuf *m, unsigned 
dump_len)
        nb_segs = m->pkt.nb_segs;

        while (m && nb_segs != 0) {
-               __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 0);
+               __rte_mbuf_sanity_check(m, 0);

                printf("  segment at 0x%p, data=0x%p, data_len=%u\n",
                       m, m->pkt.data, (unsigned)m->pkt.data_len);
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 1b1a84e..22e1ac1 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -43,18 +43,13 @@
  * buffers. The message buffers are stored in a mempool, using the
  * RTE mempool library.
  *
- * This library provide an API to allocate/free mbufs, manipulate
- * control message buffer (ctrlmbuf), which are generic message
- * buffers, and packet buffers (pktmbuf), which are used to carry
- * network packets.
+ * This library provide an API to allocate/free packet mbufs, which are
+ * used to carry network packets.
  *
  * To understand the concepts of packet buffers or mbufs, you
  * should read "TCP/IP Illustrated, Volume 2: The Implementation,
  * Addison-Wesley, 1995, ISBN 0-201-63354-X from Richard Stevens"
  * http://www.kohala.com/start/tcpipiv2.html
- *
- * The main modification of this implementation is the use of mbuf for
- * transports other than packets. mbufs can have other types.
  */

 #include <stdint.h>
@@ -70,15 +65,6 @@ extern "C" {
 /* deprecated feature, renamed in RTE_MBUF_REFCNT */
 #pragma GCC poison RTE_MBUF_SCATTER_GATHER

-/**
- * A control message buffer.
- */
-struct rte_ctrlmbuf {
-       void *data;        /**< Pointer to data. */
-       uint32_t data_len; /**< Length of data. */
-};
-
-
 /*
  * Packet Offload Features Flags. It also carry packet type information.
  * Critical resources. Both rx/tx shared these bits. Be cautious on any change
@@ -165,15 +151,7 @@ struct rte_pktmbuf {
 };

 /**
- * This enum indicates the mbuf type.
- */
-enum rte_mbuf_type {
-       RTE_MBUF_CTRL,  /**< Control mbuf. */
-       RTE_MBUF_PKT,   /**< Packet mbuf. */
-};
-
-/**
- * The generic rte_mbuf, containing a packet mbuf or a control mbuf.
+ * The generic rte_mbuf, containing a packet mbuf.
  */
 struct rte_mbuf {
        struct rte_mempool *pool; /**< Pool from which mbuf was allocated. */
@@ -196,14 +174,10 @@ struct rte_mbuf {
 #else
        uint16_t refcnt_reserved;     /**< Do not use this field */
 #endif
-       uint8_t type;                 /**< Type of mbuf. */
-       uint8_t reserved;             /**< Unused field. Required for padding. 
*/
+       uint16_t reserved;             /**< Unused field. Required for padding. 
*/
        uint16_t ol_flags;            /**< Offload features. */

-       union {
-               struct rte_ctrlmbuf ctrl;
-               struct rte_pktmbuf pkt;
-       };
+       struct rte_pktmbuf pkt;
 } __rte_cache_aligned;

 /**
@@ -241,12 +215,12 @@ struct rte_pktmbuf_pool_private {
 #ifdef RTE_LIBRTE_MBUF_DEBUG

 /**  check mbuf type in debug mode */
-#define __rte_mbuf_sanity_check(m, t, is_h) rte_mbuf_sanity_check(m, t, is_h)
+#define __rte_mbuf_sanity_check(m, is_h) rte_mbuf_sanity_check(m, is_h)

 /**  check mbuf type in debug mode if mbuf pointer is not null */
-#define __rte_mbuf_sanity_check_raw(m, t, is_h)        do {       \
+#define __rte_mbuf_sanity_check_raw(m, is_h)   do {       \
        if ((m) != NULL)                                   \
-               rte_mbuf_sanity_check(m, t, is_h);          \
+               rte_mbuf_sanity_check(m, is_h);          \
 } while (0)

 /**  MBUF asserts in debug mode */
@@ -258,10 +232,10 @@ if (!(exp)) {                                             
           \
 #else /*  RTE_LIBRTE_MBUF_DEBUG */

 /**  check mbuf type in debug mode */
-#define __rte_mbuf_sanity_check(m, t, is_h) do { } while(0)
+#define __rte_mbuf_sanity_check(m, is_h) do { } while(0)

 /**  check mbuf type in debug mode if mbuf pointer is not null */
-#define __rte_mbuf_sanity_check_raw(m, t, is_h) do { } while(0)
+#define __rte_mbuf_sanity_check_raw(m, is_h) do { } while(0)

 /**  MBUF asserts in debug mode */
 #define RTE_MBUF_ASSERT(exp)                do { } while(0)
@@ -368,20 +342,17 @@ rte_mbuf_refcnt_set(struct rte_mbuf *m, uint16_t 
new_value)
  *
  * @param m
  *   The mbuf to be checked.
- * @param t
- *   The expected type of the mbuf.
  * @param is_header
  *   True if the mbuf is a packet header, false if it is a sub-segment
  *   of a packet (in this case, some fields like nb_segs are not checked)
  */
 void
-rte_mbuf_sanity_check(const struct rte_mbuf *m, enum rte_mbuf_type t,
-                     int is_header);
+rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header);

 /**
  * @internal Allocate a new mbuf from mempool *mp*.
  * The use of that function is reserved for RTE internal needs.
- * Please use either rte_ctrlmbuf_alloc() or rte_pktmbuf_alloc().
+ * Please use rte_pktmbuf_alloc().
  *
  * @param mp
  *   The mempool from which mbuf is allocated.
@@ -406,7 +377,7 @@ static inline struct rte_mbuf *__rte_mbuf_raw_alloc(struct 
rte_mempool *mp)
 /**
  * @internal Put mbuf back into its original mempool.
  * The use of that function is reserved for RTE internal needs.
- * Please use either rte_ctrlmbuf_free() or rte_pktmbuf_free().
+ * Please use rte_pktmbuf_free().
  *
  * @param m
  *   The mbuf to be freed.
@@ -420,95 +391,11 @@ __rte_mbuf_raw_free(struct rte_mbuf *m)
        rte_mempool_put(m->pool, m);
 }

-/* Operations on ctrl mbuf */
-
-/**
- * The control mbuf constructor.
- *
- * This function initializes some fields in an mbuf structure that are
- * not modified by the user once created (mbuf type, origin pool, buffer
- * start address, and so on). This function is given as a callback function
- * to rte_mempool_create() at pool creation time.
- *
- * @param mp
- *   The mempool from which the mbuf is allocated.
- * @param opaque_arg
- *   A pointer that can be used by the user to retrieve useful information
- *   for mbuf initialization. This pointer comes from the ``init_arg``
- *   parameter of rte_mempool_create().
- * @param m
- *   The mbuf to initialize.
- * @param i
- *   The index of the mbuf in the pool table.
- */
-void rte_ctrlmbuf_init(struct rte_mempool *mp, void *opaque_arg,
-                      void *m, unsigned i);
-
-/**
- * Allocate a new mbuf (type is ctrl) from mempool *mp*.
- *
- * This new mbuf is initialized with data pointing to the beginning of
- * buffer, and with a length of zero.
- *
- * @param mp
- *   The mempool from which the mbuf is allocated.
- * @return
- *   - The pointer to the new mbuf on success.
- *   - NULL if allocation failed.
- */
-static inline struct rte_mbuf *rte_ctrlmbuf_alloc(struct rte_mempool *mp)
-{
-       struct rte_mbuf *m;
-       if ((m = __rte_mbuf_raw_alloc(mp)) != NULL) {
-               m->ctrl.data = m->buf_addr;
-               m->ctrl.data_len = 0;
-               __rte_mbuf_sanity_check(m, RTE_MBUF_CTRL, 0);
-       }
-       return (m);
-}
-
-/**
- * Free a control mbuf back into its original mempool.
- *
- * @param m
- *   The control mbuf to be freed.
- */
-static inline void rte_ctrlmbuf_free(struct rte_mbuf *m)
-{
-       __rte_mbuf_sanity_check(m, RTE_MBUF_CTRL, 0);
-#ifdef RTE_MBUF_SCATTER_GATHER
-       if (rte_mbuf_refcnt_update(m, -1) == 0)
-#endif /* RTE_MBUF_SCATTER_GATHER */
-               __rte_mbuf_raw_free(m);
-}
-
-/**
- * A macro that returns the pointer to the carried data.
- *
- * The value that can be read or assigned.
- *
- * @param m
- *   The control mbuf.
- */
-#define rte_ctrlmbuf_data(m) ((m)->ctrl.data)
-
-/**
- * A macro that returns the length of the carried data.
- *
- * The value that can be read or assigned.
- *
- * @param m
- *   The control mbuf.
- */
-#define rte_ctrlmbuf_len(m) ((m)->ctrl.data_len)
-
-/* Operations on pkt mbuf */
-
 /**
  * The packet mbuf constructor.
  *
- * This function initializes some fields in the mbuf structure that are not
- * modified by the user once created (mbuf type, origin pool, buffer start
+ * This function initializes some fields in the mbuf structure that are
+ * not modified by the user once created (origin pool, buffer start
  * address, and so on). This function is given as a callback function to
  * rte_mempool_create() at pool creation time.
  *
@@ -569,11 +456,11 @@ static inline void rte_pktmbuf_reset(struct rte_mbuf *m)
        m->pkt.data = (char*) m->buf_addr + buf_ofs;

        m->pkt.data_len = 0;
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);
 }

 /**
- * Allocate a new mbuf (type is pkt) from a mempool.
+ * Allocate a new mbuf from a mempool.
  *
  * This new mbuf contains one segment, which has a length of 0. The pointer
  * to data is initialized to have some bytes of headroom in the buffer
@@ -629,8 +516,8 @@ static inline void rte_pktmbuf_attach(struct rte_mbuf *mi, 
struct rte_mbuf *md)
        mi->pkt.nb_segs = 1;
        mi->ol_flags = md->ol_flags;

-       __rte_mbuf_sanity_check(mi, RTE_MBUF_PKT, 1);
-       __rte_mbuf_sanity_check(md, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check(mi, 1);
+       __rte_mbuf_sanity_check(md, 0);
 }

 /**
@@ -667,7 +554,7 @@ static inline void rte_pktmbuf_detach(struct rte_mbuf *m)
 static inline struct rte_mbuf* __attribute__((always_inline))
 __rte_pktmbuf_prefree_seg(struct rte_mbuf *m)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check(m, 0);

 #ifdef RTE_MBUF_REFCNT
        if (likely (rte_mbuf_refcnt_read(m) == 1) ||
@@ -722,7 +609,7 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m)
 {
        struct rte_mbuf *m_next;

-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        while (m != NULL) {
                m_next = m->pkt.next;
@@ -783,7 +670,7 @@ static inline struct rte_mbuf *rte_pktmbuf_clone(struct 
rte_mbuf *md,
                return (NULL);
        }

-       __rte_mbuf_sanity_check(mc, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(mc, 1);
        return (mc);
 }

@@ -800,7 +687,7 @@ static inline struct rte_mbuf *rte_pktmbuf_clone(struct 
rte_mbuf *md,
  */
 static inline void rte_pktmbuf_refcnt_update(struct rte_mbuf *m, int16_t v)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        do {
                rte_mbuf_refcnt_update(m, v);
@@ -819,7 +706,7 @@ static inline void rte_pktmbuf_refcnt_update(struct 
rte_mbuf *m, int16_t v)
  */
 static inline uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);
        return (uint16_t) ((char*) m->pkt.data - (char*) m->buf_addr);
 }

@@ -833,7 +720,7 @@ static inline uint16_t rte_pktmbuf_headroom(const struct 
rte_mbuf *m)
  */
 static inline uint16_t rte_pktmbuf_tailroom(const struct rte_mbuf *m)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);
        return (uint16_t)(m->buf_len - rte_pktmbuf_headroom(m) -
                          m->pkt.data_len);
 }
@@ -850,7 +737,7 @@ static inline struct rte_mbuf *rte_pktmbuf_lastseg(struct 
rte_mbuf *m)
 {
        struct rte_mbuf *m2 = (struct rte_mbuf *)m;

-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);
        while (m2->pkt.next != NULL)
                m2 = m2->pkt.next;
        return m2;
@@ -908,7 +795,7 @@ static inline struct rte_mbuf *rte_pktmbuf_lastseg(struct 
rte_mbuf *m)
 static inline char *rte_pktmbuf_prepend(struct rte_mbuf *m,
                                        uint16_t len)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        if (unlikely(len > rte_pktmbuf_headroom(m)))
                return NULL;
@@ -940,7 +827,7 @@ static inline char *rte_pktmbuf_append(struct rte_mbuf *m, 
uint16_t len)
        void *tail;
        struct rte_mbuf *m_last;

-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        m_last = rte_pktmbuf_lastseg(m);
        if (unlikely(len > rte_pktmbuf_tailroom(m_last)))
@@ -968,7 +855,7 @@ static inline char *rte_pktmbuf_append(struct rte_mbuf *m, 
uint16_t len)
  */
 static inline char *rte_pktmbuf_adj(struct rte_mbuf *m, uint16_t len)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        if (unlikely(len > m->pkt.data_len))
                return NULL;
@@ -997,7 +884,7 @@ static inline int rte_pktmbuf_trim(struct rte_mbuf *m, 
uint16_t len)
 {
        struct rte_mbuf *m_last;

-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);

        m_last = rte_pktmbuf_lastseg(m);
        if (unlikely(len > m_last->pkt.data_len))
@@ -1019,7 +906,7 @@ static inline int rte_pktmbuf_trim(struct rte_mbuf *m, 
uint16_t len)
  */
 static inline int rte_pktmbuf_is_contiguous(const struct rte_mbuf *m)
 {
-       __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1);
+       __rte_mbuf_sanity_check(m, 1);
        return !!(m->pkt.nb_segs == 1);
 }

diff --git a/lib/librte_pmd_e1000/em_rxtx.c b/lib/librte_pmd_e1000/em_rxtx.c
index 78c0c44..31f480a 100644
--- a/lib/librte_pmd_e1000/em_rxtx.c
+++ b/lib/librte_pmd_e1000/em_rxtx.c
@@ -85,7 +85,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);
        return (m);
 }

diff --git a/lib/librte_pmd_e1000/igb_rxtx.c b/lib/librte_pmd_e1000/igb_rxtx.c
index b3c8149..62ff7bc 100644
--- a/lib/librte_pmd_e1000/igb_rxtx.c
+++ b/lib/librte_pmd_e1000/igb_rxtx.c
@@ -79,7 +79,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);
        return (m);
 }

diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c 
b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
index 4e307c2..76448ab 100644
--- a/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
+++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx.c
@@ -88,7 +88,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);
        return (m);
 }

@@ -987,7 +987,6 @@ ixgbe_rx_alloc_bufs(struct igb_rx_queue *rxq)
                /* populate the static rte mbuf fields */
                mb = rxep[i].mbuf;
                rte_mbuf_refcnt_set(mb, 1);
-               mb->type = RTE_MBUF_PKT;
                mb->pkt.next = NULL;
                mb->pkt.data = (char *)mb->buf_addr + RTE_PKTMBUF_HEADROOM;
                mb->pkt.nb_segs = 1;
@@ -3084,7 +3083,6 @@ ixgbe_alloc_rx_queue_mbufs(struct igb_rx_queue *rxq)
                }

                rte_mbuf_refcnt_set(mbuf, 1);
-               mbuf->type = RTE_MBUF_PKT;
                mbuf->pkt.next = NULL;
                mbuf->pkt.data = (char *)mbuf->buf_addr + RTE_PKTMBUF_HEADROOM;
                mbuf->pkt.nb_segs = 1;
diff --git a/lib/librte_pmd_virtio/virtio_rxtx.c 
b/lib/librte_pmd_virtio/virtio_rxtx.c
index fe94a3f..0db3ba0 100644
--- a/lib/librte_pmd_virtio/virtio_rxtx.c
+++ b/lib/librte_pmd_virtio/virtio_rxtx.c
@@ -66,7 +66,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);

        return (m);
 }
diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c 
b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
index 9fdd441..d91404a 100644
--- a/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
+++ b/lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c
@@ -101,7 +101,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);
        return (m);
 }

diff --git a/lib/librte_pmd_xenvirt/rte_eth_xenvirt.c 
b/lib/librte_pmd_xenvirt/rte_eth_xenvirt.c
index 533aa76..5cd1cdb 100644
--- a/lib/librte_pmd_xenvirt/rte_eth_xenvirt.c
+++ b/lib/librte_pmd_xenvirt/rte_eth_xenvirt.c
@@ -80,7 +80,7 @@ rte_rxmbuf_alloc(struct rte_mempool *mp)
        struct rte_mbuf *m;

        m = __rte_mbuf_raw_alloc(mp);
-       __rte_mbuf_sanity_check_raw(m, RTE_MBUF_PKT, 0);
+       __rte_mbuf_sanity_check_raw(m, 0);

        return m;
 }
-- 
1.9.2

Reply via email to