get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/129851/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 129851,
    "url": "http://patchwork.dpdk.org/api/patches/129851/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20230802232550.125487-2-stephen@networkplumber.org/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230802232550.125487-2-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230802232550.125487-2-stephen@networkplumber.org",
    "date": "2023-08-02T23:25:32",
    "name": "[v4,01/19] mbuf: replace term sanity check",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "837e9b8b9de3f717c18076e8c98db598dee19b39",
    "submitter": {
        "id": 27,
        "url": "http://patchwork.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20230802232550.125487-2-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 29100,
            "url": "http://patchwork.dpdk.org/api/series/29100/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=29100",
            "date": "2023-08-02T23:25:31",
            "name": "replace use of term \"sanity check\"",
            "version": 4,
            "mbox": "http://patchwork.dpdk.org/series/29100/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/129851/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/129851/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 8E24142FBA;\n\tThu,  3 Aug 2023 01:26:11 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AC30143257;\n\tThu,  3 Aug 2023 01:26:05 +0200 (CEST)",
            "from mail-pl1-f169.google.com (mail-pl1-f169.google.com\n [209.85.214.169])\n by mails.dpdk.org (Postfix) with ESMTP id 18E8F406B8\n for <dev@dpdk.org>; Thu,  3 Aug 2023 01:26:03 +0200 (CEST)",
            "by mail-pl1-f169.google.com with SMTP id\n d9443c01a7336-1bbd03cb7c1so3104715ad.3\n for <dev@dpdk.org>; Wed, 02 Aug 2023 16:26:02 -0700 (PDT)",
            "from hermes.local (204-195-127-207.wavecable.com. [204.195.127.207])\n by smtp.gmail.com with ESMTPSA id\n jd20-20020a170903261400b001b8b0ac2258sm12960870plb.174.2023.08.02.16.26.01\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 02 Aug 2023 16:26:01 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20221208.gappssmtp.com; s=20221208; t=1691018762;\n x=1691623562;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=S3w+OMwqMt/ZZCRPSX57yHdK9j6G/yviviaFypsgYps=;\n b=jLc+wd9jrWSi9kHsOUOinLdgK9iIVCheNNT77JapWKQBdq+j1UAvyY9ggNqKedZPng\n ZNi4FxaKiNQUopc/WGs8GXL0rOhthhq6SQAPBQcwIxFnKJIkQd38ouKde1mnYZls3Yn/\n SlPunoKEd83XChMxAex3VlpOBHS16svHHtIEQx4D3WxTFGlwUqtDh5QMAdJxTZEXtQF8\n QpaHH7PRNWvJGsJ55hyREmsKzA/a/tAyEqHMRuzs/1++Dnutd1U48dk08JK5sDNVSsml\n /0LexrRLEzzF2IFWV2Hb6+4UIRAoq/hpWZTcQptq0FidWdEU8ItcWWAbhDIaEpyJ4xTl\n oWWQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20221208; t=1691018762; x=1691623562;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=S3w+OMwqMt/ZZCRPSX57yHdK9j6G/yviviaFypsgYps=;\n b=MJVGXEk4h9sZYXbkF3qNj3mj2fZAmVj9UQreHR8Ub5ANj5U5JDU474ThuM0m4tgR8i\n LrybIft8ZixxwZTMYdjpgrRW9+kTqvl7DNyY8Urq8EGZEcJUgGWYs3Qfapstk6CxiBPm\n vEhzIuAz68VbSAvvxoYLzq9+3TsS4ns/RZq79fAIijpbur4i3Npm7mn9mIEYv4BNnkJ0\n 8qMHlcJqj4IZ1TZZKUAIqvEwpBbIgxKr3CYA1mc/sr5fiJbgv+xMB9zuhE4pu42rocZ8\n ezK3iRovZbL/xxR3IpUdDIkwQ8KOMVRrKHcWEp+xyVtS6V7ZX6SDrZaFdzuN8tCZhaKd\n In1Q==",
        "X-Gm-Message-State": "ABy/qLat6vFf9Y2C1y84EJbNtlP0+PIB2FEqZmlZe1dQvXUpsVd6C4f5\n SETBiVfOvv4p4BQjUkNxDYp8wkUs1QjOMSx7iMNd7g==",
        "X-Google-Smtp-Source": "\n APBJJlGsc58Al51LYMtrwB+qbm/iCE/TGiRXh+MeTHsy6dhzhrz198lnAYbNLIvclHRT2CiasEzEKw==",
        "X-Received": "by 2002:a17:902:f547:b0:1ba:fe63:6616 with SMTP id\n h7-20020a170902f54700b001bafe636616mr17992515plf.6.1691018761716;\n Wed, 02 Aug 2023 16:26:01 -0700 (PDT)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, =?utf-8?q?Morten_Br=C3=B8?=\n\t=?utf-8?q?rup?= <mb@smartsharesystems.com>,\n Olivier Matz <olivier.matz@6wind.com>,\n Steven Webster <steven.webster@windriver.com>,\n Matt Peters <matt.peters@windriver.com>",
        "Subject": "[PATCH v4 01/19] mbuf: replace term sanity check",
        "Date": "Wed,  2 Aug 2023 16:25:32 -0700",
        "Message-Id": "<20230802232550.125487-2-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.39.2",
        "In-Reply-To": "<20230802232550.125487-1-stephen@networkplumber.org>",
        "References": "<20230517161603.117728-1-stephen@networkplumber.org>\n <20230802232550.125487-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Replace rte_mbuf_sanity_check() with rte_mbuf_verify()\nto match the similar macro RTE_VERIFY() in rte_debug.h\n\nThe term sanity check is on the Tier 2 list of words\nthat should be replaced.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\nAcked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>\nAcked-by: Morten Brørup <mb@smartsharesystems.com>\n---\n app/test/test_mbuf.c                   | 28 +++++-----\n doc/guides/prog_guide/mbuf_lib.rst     |  4 +-\n doc/guides/rel_notes/deprecation.rst   |  3 ++\n doc/guides/rel_notes/release_23_11.rst |  4 ++\n drivers/net/avp/avp_ethdev.c           | 18 +++----\n drivers/net/sfc/sfc_ef100_rx.c         |  6 +--\n drivers/net/sfc/sfc_ef10_essb_rx.c     |  4 +-\n drivers/net/sfc/sfc_ef10_rx.c          |  4 +-\n drivers/net/sfc/sfc_rx.c               |  2 +-\n examples/ipv4_multicast/main.c         |  2 +-\n lib/mbuf/rte_mbuf.c                    | 23 ++++++---\n lib/mbuf/rte_mbuf.h                    | 71 ++++++++++++++------------\n lib/mbuf/version.map                   |  1 +\n 13 files changed, 94 insertions(+), 76 deletions(-)",
    "diff": "diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c\nindex efac01806bee..f3f5400e2eca 100644\n--- a/app/test/test_mbuf.c\n+++ b/app/test/test_mbuf.c\n@@ -261,8 +261,8 @@ test_one_pktmbuf(struct rte_mempool *pktmbuf_pool)\n \t\tGOTO_FAIL(\"Buffer should be continuous\");\n \tmemset(hdr, 0x55, MBUF_TEST_HDR2_LEN);\n \n-\trte_mbuf_sanity_check(m, 1);\n-\trte_mbuf_sanity_check(m, 0);\n+\trte_mbuf_verify(m, 1);\n+\trte_mbuf_verify(m, 0);\n \trte_pktmbuf_dump(stdout, m, 0);\n \n \t/* this prepend should fail */\n@@ -1161,7 +1161,7 @@ test_refcnt_mbuf(void)\n \n #ifdef RTE_EXEC_ENV_WINDOWS\n static int\n-test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool)\n+test_failing_mbuf_verify(struct rte_mempool *pktmbuf_pool)\n {\n \tRTE_SET_USED(pktmbuf_pool);\n \treturn TEST_SKIPPED;\n@@ -1180,12 +1180,12 @@ mbuf_check_pass(struct rte_mbuf *buf)\n }\n \n static int\n-test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool)\n+test_failing_mbuf_verify(struct rte_mempool *pktmbuf_pool)\n {\n \tstruct rte_mbuf *buf;\n \tstruct rte_mbuf badbuf;\n \n-\tprintf(\"Checking rte_mbuf_sanity_check for failure conditions\\n\");\n+\tprintf(\"Checking rte_mbuf_verify for failure conditions\\n\");\n \n \t/* get a good mbuf to use to make copies */\n \tbuf = rte_pktmbuf_alloc(pktmbuf_pool);\n@@ -1707,7 +1707,7 @@ test_mbuf_validate_tx_offload(const char *test_name,\n \t\tGOTO_FAIL(\"%s: mbuf allocation failed!\\n\", __func__);\n \tif (rte_pktmbuf_pkt_len(m) != 0)\n \t\tGOTO_FAIL(\"%s: Bad packet length\\n\", __func__);\n-\trte_mbuf_sanity_check(m, 0);\n+\trte_mbuf_verify(m, 0);\n \tm->ol_flags = ol_flags;\n \tm->tso_segsz = segsize;\n \tret = rte_validate_tx_offload(m);\n@@ -1914,7 +1914,7 @@ test_pktmbuf_read(struct rte_mempool *pktmbuf_pool)\n \t\tGOTO_FAIL(\"%s: mbuf allocation failed!\\n\", __func__);\n \tif (rte_pktmbuf_pkt_len(m) != 0)\n \t\tGOTO_FAIL(\"%s: Bad packet length\\n\", __func__);\n-\trte_mbuf_sanity_check(m, 0);\n+\trte_mbuf_verify(m, 0);\n \n \tdata = rte_pktmbuf_append(m, MBUF_TEST_DATA_LEN2);\n \tif (data == NULL)\n@@ -1963,7 +1963,7 @@ test_pktmbuf_read_from_offset(struct rte_mempool *pktmbuf_pool)\n \n \tif (rte_pktmbuf_pkt_len(m) != 0)\n \t\tGOTO_FAIL(\"%s: Bad packet length\\n\", __func__);\n-\trte_mbuf_sanity_check(m, 0);\n+\trte_mbuf_verify(m, 0);\n \n \t/* prepend an ethernet header */\n \thdr = (struct ether_hdr *)rte_pktmbuf_prepend(m, hdr_len);\n@@ -2108,7 +2108,7 @@ create_packet(struct rte_mempool *pktmbuf_pool,\n \t\t\tGOTO_FAIL(\"%s: mbuf allocation failed!\\n\", __func__);\n \t\tif (rte_pktmbuf_pkt_len(pkt_seg) != 0)\n \t\t\tGOTO_FAIL(\"%s: Bad packet length\\n\", __func__);\n-\t\trte_mbuf_sanity_check(pkt_seg, 0);\n+\t\trte_mbuf_verify(pkt_seg, 0);\n \t\t/* Add header only for the first segment */\n \t\tif (test_data->flags == MBUF_HEADER && seg == 0) {\n \t\t\thdr_len = sizeof(struct rte_ether_hdr);\n@@ -2320,7 +2320,7 @@ test_pktmbuf_ext_shinfo_init_helper(struct rte_mempool *pktmbuf_pool)\n \t\tGOTO_FAIL(\"%s: mbuf allocation failed!\\n\", __func__);\n \tif (rte_pktmbuf_pkt_len(m) != 0)\n \t\tGOTO_FAIL(\"%s: Bad packet length\\n\", __func__);\n-\trte_mbuf_sanity_check(m, 0);\n+\trte_mbuf_verify(m, 0);\n \n \text_buf_addr = rte_malloc(\"External buffer\", buf_len,\n \t\t\tRTE_CACHE_LINE_SIZE);\n@@ -2484,8 +2484,8 @@ test_pktmbuf_ext_pinned_buffer(struct rte_mempool *std_pool)\n \t\tGOTO_FAIL(\"%s: test_pktmbuf_copy(pinned) failed\\n\",\n \t\t\t  __func__);\n \n-\tif (test_failing_mbuf_sanity_check(pinned_pool) < 0)\n-\t\tGOTO_FAIL(\"%s: test_failing_mbuf_sanity_check(pinned)\"\n+\tif (test_failing_mbuf_verify(pinned_pool) < 0)\n+\t\tGOTO_FAIL(\"%s: test_failing_mbuf_verify(pinned)\"\n \t\t\t  \" failed\\n\", __func__);\n \n \tif (test_mbuf_linearize_check(pinned_pool) < 0)\n@@ -2859,8 +2859,8 @@ test_mbuf(void)\n \t\tgoto err;\n \t}\n \n-\tif (test_failing_mbuf_sanity_check(pktmbuf_pool) < 0) {\n-\t\tprintf(\"test_failing_mbuf_sanity_check() failed\\n\");\n+\tif (test_failing_mbuf_verify(pktmbuf_pool) < 0) {\n+\t\tprintf(\"test_failing_mbuf_verify() failed\\n\");\n \t\tgoto err;\n \t}\n \ndiff --git a/doc/guides/prog_guide/mbuf_lib.rst b/doc/guides/prog_guide/mbuf_lib.rst\nindex 049357c75563..0accb51a98c7 100644\n--- a/doc/guides/prog_guide/mbuf_lib.rst\n+++ b/doc/guides/prog_guide/mbuf_lib.rst\n@@ -266,8 +266,8 @@ can be found in several of the sample applications, for example, the IPv4 Multic\n Debug\n -----\n \n-In debug mode, the functions of the mbuf library perform sanity checks before any operation (such as, buffer corruption,\n-bad type, and so on).\n+In debug mode, the functions of the mbuf library perform consistency checks\n+before any operation (such as, buffer corruption, bad type, and so on).\n \n Use Cases\n ---------\ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 494b401cda4b..1d8bbb0fd5f6 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -220,3 +220,6 @@ Deprecation Notices\n   will be deprecated and subsequently removed in DPDK 24.11 release.\n   Before this, the new port library API (functions rte_swx_port_*)\n   will gradually transition from experimental to stable status.\n+\n+* mbuf: The function ``rte_mbuf_sanity_check`` is deprecated in DPDK 23.11\n+  release. The new function will be ``rte_mbuf_verify``.\ndiff --git a/doc/guides/rel_notes/release_23_11.rst b/doc/guides/rel_notes/release_23_11.rst\nindex 6b4dd21fd0e1..8ff07c4a075f 100644\n--- a/doc/guides/rel_notes/release_23_11.rst\n+++ b/doc/guides/rel_notes/release_23_11.rst\n@@ -84,6 +84,10 @@ API Changes\n    Also, make sure to start the actual text at the margin.\n    =======================================================\n \n+* mbuf: function ``rte_mbuf_sanity_check`` has been renamed to\n+  ``rte_mbuf_verify``. The old function name is deprecated\n+  and will be removed in DPDK 24.11.\n+\n \n ABI Changes\n -----------\ndiff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c\nindex b2a08f563542..b402c7a2ad16 100644\n--- a/drivers/net/avp/avp_ethdev.c\n+++ b/drivers/net/avp/avp_ethdev.c\n@@ -1231,7 +1231,7 @@ _avp_mac_filter(struct avp_dev *avp, struct rte_mbuf *m)\n \n #ifdef RTE_LIBRTE_AVP_DEBUG_BUFFERS\n static inline void\n-__avp_dev_buffer_sanity_check(struct avp_dev *avp, struct rte_avp_desc *buf)\n+__avp_dev_buffer_check(struct avp_dev *avp, struct rte_avp_desc *buf)\n {\n \tstruct rte_avp_desc *first_buf;\n \tstruct rte_avp_desc *pkt_buf;\n@@ -1272,12 +1272,12 @@ __avp_dev_buffer_sanity_check(struct avp_dev *avp, struct rte_avp_desc *buf)\n \t\t\t  first_buf->pkt_len, pkt_len);\n }\n \n-#define avp_dev_buffer_sanity_check(a, b) \\\n-\t__avp_dev_buffer_sanity_check((a), (b))\n+#define avp_dev_buffer_check(a, b) \\\n+\t__avp_dev_buffer_check((a), (b))\n \n #else /* RTE_LIBRTE_AVP_DEBUG_BUFFERS */\n \n-#define avp_dev_buffer_sanity_check(a, b) do {} while (0)\n+#define avp_dev_buffer_check(a, b) do {} while (0)\n \n #endif\n \n@@ -1302,7 +1302,7 @@ avp_dev_copy_from_buffers(struct avp_dev *avp,\n \tvoid *pkt_data;\n \tunsigned int i;\n \n-\tavp_dev_buffer_sanity_check(avp, buf);\n+\tavp_dev_buffer_check(avp, buf);\n \n \t/* setup the first source buffer */\n \tpkt_buf = avp_dev_translate_buffer(avp, buf);\n@@ -1370,7 +1370,7 @@ avp_dev_copy_from_buffers(struct avp_dev *avp,\n \trte_pktmbuf_pkt_len(m) = total_length;\n \tm->vlan_tci = vlan_tci;\n \n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \treturn m;\n }\n@@ -1614,7 +1614,7 @@ avp_dev_copy_to_buffers(struct avp_dev *avp,\n \tchar *pkt_data;\n \tunsigned int i;\n \n-\t__rte_mbuf_sanity_check(mbuf, 1);\n+\t__rte_mbuf_verify(mbuf, 1);\n \n \tm = mbuf;\n \tsrc_offset = 0;\n@@ -1680,7 +1680,7 @@ avp_dev_copy_to_buffers(struct avp_dev *avp,\n \t\tfirst_buf->vlan_tci = mbuf->vlan_tci;\n \t}\n \n-\tavp_dev_buffer_sanity_check(avp, buffers[0]);\n+\tavp_dev_buffer_check(avp, buffers[0]);\n \n \treturn total_length;\n }\n@@ -1798,7 +1798,7 @@ avp_xmit_scattered_pkts(void *tx_queue,\n \n #ifdef RTE_LIBRTE_AVP_DEBUG_BUFFERS\n \tfor (i = 0; i < nb_pkts; i++)\n-\t\tavp_dev_buffer_sanity_check(avp, tx_bufs[i]);\n+\t\tavp_dev_buffer_check(avp, tx_bufs[i]);\n #endif\n \n \t/* send the packets */\ndiff --git a/drivers/net/sfc/sfc_ef100_rx.c b/drivers/net/sfc/sfc_ef100_rx.c\nindex 2677003da326..8199b56f2740 100644\n--- a/drivers/net/sfc/sfc_ef100_rx.c\n+++ b/drivers/net/sfc/sfc_ef100_rx.c\n@@ -179,7 +179,7 @@ sfc_ef100_rx_qrefill(struct sfc_ef100_rxq *rxq)\n \t\t\tstruct sfc_ef100_rx_sw_desc *rxd;\n \t\t\trte_iova_t dma_addr;\n \n-\t\t\t__rte_mbuf_raw_sanity_check(m);\n+\t\t\t__rte_mbuf_raw_verify(m);\n \n \t\t\tdma_addr = rte_mbuf_data_iova_default(m);\n \t\t\tif (rxq->flags & SFC_EF100_RXQ_NIC_DMA_MAP) {\n@@ -551,7 +551,7 @@ sfc_ef100_rx_process_ready_pkts(struct sfc_ef100_rxq *rxq,\n \t\trxq->ready_pkts--;\n \n \t\tpkt = sfc_ef100_rx_next_mbuf(rxq);\n-\t\t__rte_mbuf_raw_sanity_check(pkt);\n+\t\t__rte_mbuf_raw_verify(pkt);\n \n \t\tRTE_BUILD_BUG_ON(sizeof(pkt->rearm_data[0]) !=\n \t\t\t\t sizeof(rxq->rearm_data));\n@@ -575,7 +575,7 @@ sfc_ef100_rx_process_ready_pkts(struct sfc_ef100_rxq *rxq,\n \t\t\tstruct rte_mbuf *seg;\n \n \t\t\tseg = sfc_ef100_rx_next_mbuf(rxq);\n-\t\t\t__rte_mbuf_raw_sanity_check(seg);\n+\t\t\t__rte_mbuf_raw_verify(seg);\n \n \t\t\tseg->data_off = RTE_PKTMBUF_HEADROOM;\n \ndiff --git a/drivers/net/sfc/sfc_ef10_essb_rx.c b/drivers/net/sfc/sfc_ef10_essb_rx.c\nindex 78bd430363b1..74647e2792b1 100644\n--- a/drivers/net/sfc/sfc_ef10_essb_rx.c\n+++ b/drivers/net/sfc/sfc_ef10_essb_rx.c\n@@ -125,7 +125,7 @@ sfc_ef10_essb_next_mbuf(const struct sfc_ef10_essb_rxq *rxq,\n \tstruct rte_mbuf *m;\n \n \tm = (struct rte_mbuf *)((uintptr_t)mbuf + rxq->buf_stride);\n-\t__rte_mbuf_raw_sanity_check(m);\n+\t__rte_mbuf_raw_verify(m);\n \treturn m;\n }\n \n@@ -136,7 +136,7 @@ sfc_ef10_essb_mbuf_by_index(const struct sfc_ef10_essb_rxq *rxq,\n \tstruct rte_mbuf *m;\n \n \tm = (struct rte_mbuf *)((uintptr_t)mbuf + idx * rxq->buf_stride);\n-\t__rte_mbuf_raw_sanity_check(m);\n+\t__rte_mbuf_raw_verify(m);\n \treturn m;\n }\n \ndiff --git a/drivers/net/sfc/sfc_ef10_rx.c b/drivers/net/sfc/sfc_ef10_rx.c\nindex 30a320d0791c..72b03b3bba7a 100644\n--- a/drivers/net/sfc/sfc_ef10_rx.c\n+++ b/drivers/net/sfc/sfc_ef10_rx.c\n@@ -148,7 +148,7 @@ sfc_ef10_rx_qrefill(struct sfc_ef10_rxq *rxq)\n \t\t\tstruct sfc_ef10_rx_sw_desc *rxd;\n \t\t\trte_iova_t phys_addr;\n \n-\t\t\t__rte_mbuf_raw_sanity_check(m);\n+\t\t\t__rte_mbuf_raw_verify(m);\n \n \t\t\tSFC_ASSERT((id & ~ptr_mask) == 0);\n \t\t\trxd = &rxq->sw_ring[id];\n@@ -297,7 +297,7 @@ sfc_ef10_rx_process_event(struct sfc_ef10_rxq *rxq, efx_qword_t rx_ev,\n \t\trxd = &rxq->sw_ring[pending++ & ptr_mask];\n \t\tm = rxd->mbuf;\n \n-\t\t__rte_mbuf_raw_sanity_check(m);\n+\t\t__rte_mbuf_raw_verify(m);\n \n \t\tm->data_off = RTE_PKTMBUF_HEADROOM;\n \t\trte_pktmbuf_data_len(m) = seg_len;\ndiff --git a/drivers/net/sfc/sfc_rx.c b/drivers/net/sfc/sfc_rx.c\nindex 1dde2c111001..645c8643d1c1 100644\n--- a/drivers/net/sfc/sfc_rx.c\n+++ b/drivers/net/sfc/sfc_rx.c\n@@ -120,7 +120,7 @@ sfc_efx_rx_qrefill(struct sfc_efx_rxq *rxq)\n \t\t     ++i, id = (id + 1) & rxq->ptr_mask) {\n \t\t\tm = objs[i];\n \n-\t\t\t__rte_mbuf_raw_sanity_check(m);\n+\t\t\t__rte_mbuf_raw_verify(m);\n \n \t\t\trxd = &rxq->sw_desc[id];\n \t\t\trxd->mbuf = m;\ndiff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex 6d0a8501eff5..f39658f4e249 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -258,7 +258,7 @@ mcast_out_pkt(struct rte_mbuf *pkt, int use_clone)\n \thdr->pkt_len = (uint16_t)(hdr->data_len + pkt->pkt_len);\n \thdr->nb_segs = pkt->nb_segs + 1;\n \n-\t__rte_mbuf_sanity_check(hdr, 1);\n+\t__rte_mbuf_verify(hdr, 1);\n \treturn hdr;\n }\n /* >8 End of mcast_out_kt. */\ndiff --git a/lib/mbuf/rte_mbuf.c b/lib/mbuf/rte_mbuf.c\nindex 686e797c80c4..91cb2f84f6a1 100644\n--- a/lib/mbuf/rte_mbuf.c\n+++ b/lib/mbuf/rte_mbuf.c\n@@ -363,9 +363,9 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,\n \treturn mp;\n }\n \n-/* do some sanity checks on a mbuf: panic if it fails */\n+/* do some checks on a mbuf: panic if it fails */\n void\n-rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)\n+rte_mbuf_verify(const struct rte_mbuf *m, int is_header)\n {\n \tconst char *reason;\n \n@@ -373,6 +373,13 @@ rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)\n \t\trte_panic(\"%s\\n\", reason);\n }\n \n+/* For ABI compatibility, to be removed in next release */\n+void\n+rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header)\n+{\n+\trte_mbuf_verify(m, is_header);\n+}\n+\n int rte_mbuf_check(const struct rte_mbuf *m, int is_header,\n \t\t   const char **reason)\n {\n@@ -492,7 +499,7 @@ void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count)\n \t\tif (unlikely(m == NULL))\n \t\t\tcontinue;\n \n-\t\t__rte_mbuf_sanity_check(m, 1);\n+\t\t__rte_mbuf_verify(m, 1);\n \n \t\tdo {\n \t\t\tm_next = m->next;\n@@ -542,7 +549,7 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp)\n \t\treturn NULL;\n \t}\n \n-\t__rte_mbuf_sanity_check(mc, 1);\n+\t__rte_mbuf_verify(mc, 1);\n \treturn mc;\n }\n \n@@ -592,7 +599,7 @@ rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp,\n \tstruct rte_mbuf *mc, *m_last, **prev;\n \n \t/* garbage in check */\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \t/* check for request to copy at offset past end of mbuf */\n \tif (unlikely(off >= m->pkt_len))\n@@ -656,7 +663,7 @@ rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp,\n \t}\n \n \t/* garbage out check */\n-\t__rte_mbuf_sanity_check(mc, 1);\n+\t__rte_mbuf_verify(mc, 1);\n \treturn mc;\n }\n \n@@ -667,7 +674,7 @@ rte_pktmbuf_dump(FILE *f, const struct rte_mbuf *m, unsigned dump_len)\n \tunsigned int len;\n \tunsigned int nb_segs;\n \n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tfprintf(f, \"dump mbuf at %p, iova=%#\" PRIx64 \", buf_len=%u\\n\", m, rte_mbuf_iova_get(m),\n \t\tm->buf_len);\n@@ -685,7 +692,7 @@ rte_pktmbuf_dump(FILE *f, const struct rte_mbuf *m, unsigned dump_len)\n \tnb_segs = m->nb_segs;\n \n \twhile (m && nb_segs != 0) {\n-\t\t__rte_mbuf_sanity_check(m, 0);\n+\t\t__rte_mbuf_verify(m, 0);\n \n \t\tfprintf(f, \"  segment at %p, data=%p, len=%u, off=%u, refcnt=%u\\n\",\n \t\t\tm, rte_pktmbuf_mtod(m, void *),\ndiff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h\nindex 913c459b1cc6..3bd50d7307b3 100644\n--- a/lib/mbuf/rte_mbuf.h\n+++ b/lib/mbuf/rte_mbuf.h\n@@ -339,13 +339,13 @@ rte_pktmbuf_priv_flags(struct rte_mempool *mp)\n \n #ifdef RTE_LIBRTE_MBUF_DEBUG\n \n-/**  check mbuf type in debug mode */\n-#define __rte_mbuf_sanity_check(m, is_h) rte_mbuf_sanity_check(m, is_h)\n+/**  do mbuf type in debug mode */\n+#define __rte_mbuf_verify(m, is_h) rte_mbuf_verify(m, is_h)\n \n #else /*  RTE_LIBRTE_MBUF_DEBUG */\n \n-/**  check mbuf type in debug mode */\n-#define __rte_mbuf_sanity_check(m, is_h) do { } while (0)\n+/**  ignore mbuf checks if not in debug mode */\n+#define __rte_mbuf_verify(m, is_h) do { } while (0)\n \n #endif /*  RTE_LIBRTE_MBUF_DEBUG */\n \n@@ -514,10 +514,9 @@ rte_mbuf_ext_refcnt_update(struct rte_mbuf_ext_shared_info *shinfo,\n \n \n /**\n- * Sanity checks on an mbuf.\n+ * Check that the mbuf is valid and panic if corrupted.\n  *\n- * Check the consistency of the given mbuf. The function will cause a\n- * panic if corruption is detected.\n+ * Acts assertion that mbuf is consistent. If not it calls rte_panic().\n  *\n  * @param m\n  *   The mbuf to be checked.\n@@ -526,13 +525,17 @@ rte_mbuf_ext_refcnt_update(struct rte_mbuf_ext_shared_info *shinfo,\n  *   of a packet (in this case, some fields like nb_segs are not checked)\n  */\n void\n+rte_mbuf_verify(const struct rte_mbuf *m, int is_header);\n+\n+/* Older deprecated name for rte_mbuf_verify() */\n+void __rte_deprecated\n rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header);\n \n /**\n- * Sanity checks on a mbuf.\n+ * Do consistency checks on a mbuf.\n  *\n- * Almost like rte_mbuf_sanity_check(), but this function gives the reason\n- * if corruption is detected rather than panic.\n+ * Check the consistency of the given mbuf and if not valid\n+ * return the reason.\n  *\n  * @param m\n  *   The mbuf to be checked.\n@@ -551,7 +554,7 @@ int rte_mbuf_check(const struct rte_mbuf *m, int is_header,\n \t\t   const char **reason);\n \n /**\n- * Sanity checks on a reinitialized mbuf in debug mode.\n+ * Do checks on a reinitialized mbuf in debug mode.\n  *\n  * Check the consistency of the given reinitialized mbuf.\n  * The function will cause a panic if corruption is detected.\n@@ -563,16 +566,16 @@ int rte_mbuf_check(const struct rte_mbuf *m, int is_header,\n  *   The mbuf to be checked.\n  */\n static __rte_always_inline void\n-__rte_mbuf_raw_sanity_check(__rte_unused const struct rte_mbuf *m)\n+__rte_mbuf_raw_verify(__rte_unused const struct rte_mbuf *m)\n {\n \tRTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);\n \tRTE_ASSERT(m->next == NULL);\n \tRTE_ASSERT(m->nb_segs == 1);\n-\t__rte_mbuf_sanity_check(m, 0);\n+\t__rte_mbuf_verify(m, 0);\n }\n \n /** For backwards compatibility. */\n-#define MBUF_RAW_ALLOC_CHECK(m) __rte_mbuf_raw_sanity_check(m)\n+#define MBUF_RAW_ALLOC_CHECK(m) __rte_mbuf_raw_verify(m)\n \n /**\n  * Allocate an uninitialized mbuf from mempool *mp*.\n@@ -599,7 +602,7 @@ static inline struct rte_mbuf *rte_mbuf_raw_alloc(struct rte_mempool *mp)\n \n \tif (rte_mempool_get(mp, (void **)&m) < 0)\n \t\treturn NULL;\n-\t__rte_mbuf_raw_sanity_check(m);\n+\t__rte_mbuf_raw_verify(m);\n \treturn m;\n }\n \n@@ -622,7 +625,7 @@ rte_mbuf_raw_free(struct rte_mbuf *m)\n {\n \tRTE_ASSERT(!RTE_MBUF_CLONED(m) &&\n \t\t  (!RTE_MBUF_HAS_EXTBUF(m) || RTE_MBUF_HAS_PINNED_EXTBUF(m)));\n-\t__rte_mbuf_raw_sanity_check(m);\n+\t__rte_mbuf_raw_verify(m);\n \trte_mempool_put(m->pool, m);\n }\n \n@@ -886,7 +889,7 @@ static inline void rte_pktmbuf_reset(struct rte_mbuf *m)\n \trte_pktmbuf_reset_headroom(m);\n \n \tm->data_len = 0;\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n }\n \n /**\n@@ -942,22 +945,22 @@ static inline int rte_pktmbuf_alloc_bulk(struct rte_mempool *pool,\n \tswitch (count % 4) {\n \tcase 0:\n \t\twhile (idx != count) {\n-\t\t\t__rte_mbuf_raw_sanity_check(mbufs[idx]);\n+\t\t\t__rte_mbuf_raw_verify(mbufs[idx]);\n \t\t\trte_pktmbuf_reset(mbufs[idx]);\n \t\t\tidx++;\n \t\t\t/* fall-through */\n \tcase 3:\n-\t\t\t__rte_mbuf_raw_sanity_check(mbufs[idx]);\n+\t\t\t__rte_mbuf_raw_verify(mbufs[idx]);\n \t\t\trte_pktmbuf_reset(mbufs[idx]);\n \t\t\tidx++;\n \t\t\t/* fall-through */\n \tcase 2:\n-\t\t\t__rte_mbuf_raw_sanity_check(mbufs[idx]);\n+\t\t\t__rte_mbuf_raw_verify(mbufs[idx]);\n \t\t\trte_pktmbuf_reset(mbufs[idx]);\n \t\t\tidx++;\n \t\t\t/* fall-through */\n \tcase 1:\n-\t\t\t__rte_mbuf_raw_sanity_check(mbufs[idx]);\n+\t\t\t__rte_mbuf_raw_verify(mbufs[idx]);\n \t\t\trte_pktmbuf_reset(mbufs[idx]);\n \t\t\tidx++;\n \t\t\t/* fall-through */\n@@ -1185,8 +1188,8 @@ static inline void rte_pktmbuf_attach(struct rte_mbuf *mi, struct rte_mbuf *m)\n \tmi->pkt_len = mi->data_len;\n \tmi->nb_segs = 1;\n \n-\t__rte_mbuf_sanity_check(mi, 1);\n-\t__rte_mbuf_sanity_check(m, 0);\n+\t__rte_mbuf_verify(mi, 1);\n+\t__rte_mbuf_verify(m, 0);\n }\n \n /**\n@@ -1341,7 +1344,7 @@ static inline int __rte_pktmbuf_pinned_extbuf_decref(struct rte_mbuf *m)\n static __rte_always_inline struct rte_mbuf *\n rte_pktmbuf_prefree_seg(struct rte_mbuf *m)\n {\n-\t__rte_mbuf_sanity_check(m, 0);\n+\t__rte_mbuf_verify(m, 0);\n \n \tif (likely(rte_mbuf_refcnt_read(m) == 1)) {\n \n@@ -1412,7 +1415,7 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m)\n \tstruct rte_mbuf *m_next;\n \n \tif (m != NULL)\n-\t\t__rte_mbuf_sanity_check(m, 1);\n+\t\t__rte_mbuf_verify(m, 1);\n \n \twhile (m != NULL) {\n \t\tm_next = m->next;\n@@ -1493,7 +1496,7 @@ rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp,\n  */\n static inline void rte_pktmbuf_refcnt_update(struct rte_mbuf *m, int16_t v)\n {\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tdo {\n \t\trte_mbuf_refcnt_update(m, v);\n@@ -1510,7 +1513,7 @@ static inline void rte_pktmbuf_refcnt_update(struct rte_mbuf *m, int16_t v)\n  */\n static inline uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)\n {\n-\t__rte_mbuf_sanity_check(m, 0);\n+\t__rte_mbuf_verify(m, 0);\n \treturn m->data_off;\n }\n \n@@ -1524,7 +1527,7 @@ static inline uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)\n  */\n static inline uint16_t rte_pktmbuf_tailroom(const struct rte_mbuf *m)\n {\n-\t__rte_mbuf_sanity_check(m, 0);\n+\t__rte_mbuf_verify(m, 0);\n \treturn (uint16_t)(m->buf_len - rte_pktmbuf_headroom(m) -\n \t\t\t  m->data_len);\n }\n@@ -1539,7 +1542,7 @@ static inline uint16_t rte_pktmbuf_tailroom(const struct rte_mbuf *m)\n  */\n static inline struct rte_mbuf *rte_pktmbuf_lastseg(struct rte_mbuf *m)\n {\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \twhile (m->next != NULL)\n \t\tm = m->next;\n \treturn m;\n@@ -1583,7 +1586,7 @@ static inline struct rte_mbuf *rte_pktmbuf_lastseg(struct rte_mbuf *m)\n static inline char *rte_pktmbuf_prepend(struct rte_mbuf *m,\n \t\t\t\t\tuint16_t len)\n {\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tif (unlikely(len > rte_pktmbuf_headroom(m)))\n \t\treturn NULL;\n@@ -1618,7 +1621,7 @@ static inline char *rte_pktmbuf_append(struct rte_mbuf *m, uint16_t len)\n \tvoid *tail;\n \tstruct rte_mbuf *m_last;\n \n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tm_last = rte_pktmbuf_lastseg(m);\n \tif (unlikely(len > rte_pktmbuf_tailroom(m_last)))\n@@ -1646,7 +1649,7 @@ static inline char *rte_pktmbuf_append(struct rte_mbuf *m, uint16_t len)\n  */\n static inline char *rte_pktmbuf_adj(struct rte_mbuf *m, uint16_t len)\n {\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tif (unlikely(len > m->data_len))\n \t\treturn NULL;\n@@ -1678,7 +1681,7 @@ static inline int rte_pktmbuf_trim(struct rte_mbuf *m, uint16_t len)\n {\n \tstruct rte_mbuf *m_last;\n \n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \n \tm_last = rte_pktmbuf_lastseg(m);\n \tif (unlikely(len > m_last->data_len))\n@@ -1700,7 +1703,7 @@ static inline int rte_pktmbuf_trim(struct rte_mbuf *m, uint16_t len)\n  */\n static inline int rte_pktmbuf_is_contiguous(const struct rte_mbuf *m)\n {\n-\t__rte_mbuf_sanity_check(m, 1);\n+\t__rte_mbuf_verify(m, 1);\n \treturn m->nb_segs == 1;\n }\n \ndiff --git a/lib/mbuf/version.map b/lib/mbuf/version.map\nindex f010d4692e3e..04d9ffc1bdb3 100644\n--- a/lib/mbuf/version.map\n+++ b/lib/mbuf/version.map\n@@ -31,6 +31,7 @@ DPDK_24 {\n \trte_mbuf_set_platform_mempool_ops;\n \trte_mbuf_set_user_mempool_ops;\n \trte_mbuf_user_mempool_ops;\n+\trte_mbuf_verify;\n \trte_pktmbuf_clone;\n \trte_pktmbuf_copy;\n \trte_pktmbuf_dump;\n",
    "prefixes": [
        "v4",
        "01/19"
    ]
}