get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 98102,
    "url": "https://patches.dpdk.org/api/patches/98102/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210907025800.55680-1-chenbo.xia@intel.com/",
    "project": {
        "id": 1,
        "url": "https://patches.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": "<20210907025800.55680-1-chenbo.xia@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210907025800.55680-1-chenbo.xia@intel.com",
    "date": "2021-09-07T02:58:00",
    "name": "vhost: promote some APIs to stable",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "d96679f8d037405793b6ba4c6bb955eea1633610",
    "submitter": {
        "id": 1276,
        "url": "https://patches.dpdk.org/api/people/1276/?format=api",
        "name": "Chenbo Xia",
        "email": "chenbo.xia@intel.com"
    },
    "delegate": {
        "id": 2642,
        "url": "https://patches.dpdk.org/api/users/2642/?format=api",
        "username": "mcoquelin",
        "first_name": "Maxime",
        "last_name": "Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210907025800.55680-1-chenbo.xia@intel.com/mbox/",
    "series": [
        {
            "id": 18718,
            "url": "https://patches.dpdk.org/api/series/18718/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=18718",
            "date": "2021-09-07T02:58:00",
            "name": "vhost: promote some APIs to stable",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/18718/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/98102/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/98102/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 CA8FEA0C41;\n\tTue,  7 Sep 2021 05:11:47 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 52775410EB;\n\tTue,  7 Sep 2021 05:11:47 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id BF10D40DF8\n for <dev@dpdk.org>; Tue,  7 Sep 2021 05:11:45 +0200 (CEST)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 06 Sep 2021 20:11:44 -0700",
            "from npg-dpdk-virtio-xiachenbo-nw.sh.intel.com ([10.67.119.53])\n by FMSMGA003.fm.intel.com with ESMTP; 06 Sep 2021 20:11:43 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10099\"; a=\"242367236\"",
            "E=Sophos;i=\"5.85,273,1624345200\"; d=\"scan'208\";a=\"242367236\"",
            "E=Sophos;i=\"5.85,273,1624345200\"; d=\"scan'208\";a=\"537662911\""
        ],
        "X-ExtLoop1": "1",
        "From": "Chenbo Xia <chenbo.xia@intel.com>",
        "To": "dev@dpdk.org,\n\tmaxime.coquelin@redhat.com",
        "Cc": "changpeng.liu@intel.com,\n\tmdr@ashroe.eu",
        "Date": "Tue,  7 Sep 2021 10:58:00 +0800",
        "Message-Id": "<20210907025800.55680-1-chenbo.xia@intel.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "Subject": "[dpdk-dev] [PATCH] vhost: promote some APIs to stable",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "As reported by symbol bot, APIs listed in this patch have been\nexperimental for more than two years. This patch promotes these\n18 APIs to stable.\n\nSigned-off-by: Chenbo Xia <chenbo.xia@intel.com>\n---\n lib/vhost/rte_vhost.h        | 13 -------------\n lib/vhost/rte_vhost_crypto.h |  5 -----\n lib/vhost/version.map        | 36 ++++++++++++++++++------------------\n 3 files changed, 18 insertions(+), 36 deletions(-)",
    "diff": "diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h\nindex 8d875e9322..fd372d5259 100644\n--- a/lib/vhost/rte_vhost.h\n+++ b/lib/vhost/rte_vhost.h\n@@ -342,7 +342,6 @@ rte_vhost_gpa_to_vva(struct rte_vhost_memory *mem, uint64_t gpa)\n  * @return\n  *  the host virtual address on success, 0 on failure\n  */\n-__rte_experimental\n static __rte_always_inline uint64_t\n rte_vhost_va_from_guest_pa(struct rte_vhost_memory *mem,\n \t\t\t\t\t\t   uint64_t gpa, uint64_t *len)\n@@ -522,7 +521,6 @@ int rte_vhost_driver_get_features(const char *path, uint64_t *features);\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_driver_set_protocol_features(const char *path,\n \t\tuint64_t protocol_features);\n@@ -537,7 +535,6 @@ rte_vhost_driver_set_protocol_features(const char *path,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_driver_get_protocol_features(const char *path,\n \t\tuint64_t *protocol_features);\n@@ -552,7 +549,6 @@ rte_vhost_driver_get_protocol_features(const char *path,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_driver_get_queue_num(const char *path, uint32_t *queue_num);\n \n@@ -768,7 +764,6 @@ int rte_vhost_get_vhost_vring(int vid, uint16_t vring_idx,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,\n \tstruct rte_vhost_ring_inflight *vring);\n@@ -788,7 +783,6 @@ rte_vhost_get_vhost_ring_inflight(int vid, uint16_t vring_idx,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,\n \tuint16_t idx);\n@@ -811,7 +805,6 @@ rte_vhost_set_inflight_desc_split(int vid, uint16_t vring_idx,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_set_inflight_desc_packed(int vid, uint16_t vring_idx,\n \tuint16_t head, uint16_t last, uint16_t *inflight_entry);\n@@ -828,7 +821,6 @@ rte_vhost_set_inflight_desc_packed(int vid, uint16_t vring_idx,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_set_last_inflight_io_split(int vid,\n \tuint16_t vring_idx, uint16_t idx);\n@@ -848,7 +840,6 @@ rte_vhost_set_last_inflight_io_split(int vid,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_set_last_inflight_io_packed(int vid,\n \tuint16_t vring_idx, uint16_t head);\n@@ -867,7 +858,6 @@ rte_vhost_set_last_inflight_io_packed(int vid,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_clr_inflight_desc_split(int vid, uint16_t vring_idx,\n \tuint16_t last_used_idx, uint16_t idx);\n@@ -884,7 +874,6 @@ rte_vhost_clr_inflight_desc_split(int vid, uint16_t vring_idx,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,\n \tuint16_t head);\n@@ -965,7 +954,6 @@ rte_vhost_get_vring_base(int vid, uint16_t queue_id,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_get_vring_base_from_inflight(int vid,\n \tuint16_t queue_id, uint16_t *last_avail_idx, uint16_t *last_used_idx);\n@@ -1000,7 +988,6 @@ rte_vhost_set_vring_base(int vid, uint16_t queue_id,\n  * @return\n  *  0 on success, -1 on failure\n  */\n-__rte_experimental\n int\n rte_vhost_extern_callback_register(int vid,\n \t\tstruct rte_vhost_user_extern_ops const * const ops, void *ctx);\ndiff --git a/lib/vhost/rte_vhost_crypto.h b/lib/vhost/rte_vhost_crypto.h\nindex 8531757285..f54d731139 100644\n--- a/lib/vhost/rte_vhost_crypto.h\n+++ b/lib/vhost/rte_vhost_crypto.h\n@@ -58,7 +58,6 @@ rte_vhost_crypto_driver_start(const char *path);\n  *  0 if the Vhost Crypto Instance is created successfully.\n  *  Negative integer if otherwise\n  */\n-__rte_experimental\n int\n rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,\n \t\tstruct rte_mempool *sess_pool,\n@@ -74,7 +73,6 @@ rte_vhost_crypto_create(int vid, uint8_t cryptodev_id,\n  *  0 if the Vhost Crypto Instance is created successfully.\n  *  Negative integer if otherwise.\n  */\n-__rte_experimental\n int\n rte_vhost_crypto_free(int vid);\n \n@@ -89,7 +87,6 @@ rte_vhost_crypto_free(int vid);\n  *  0 if completed successfully.\n  *  Negative integer if otherwise.\n  */\n-__rte_experimental\n int\n rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option);\n \n@@ -110,7 +107,6 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option);\n  * @return\n  *  The number of fetched and processed vhost crypto request operations.\n  */\n-__rte_experimental\n uint16_t\n rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,\n \t\tstruct rte_crypto_op **ops, uint16_t nb_ops);\n@@ -132,7 +128,6 @@ rte_vhost_crypto_fetch_requests(int vid, uint32_t qid,\n  * @return\n  *  The number of ops processed.\n  */\n-__rte_experimental\n uint16_t\n rte_vhost_crypto_finalize_requests(struct rte_crypto_op **ops,\n \t\tuint16_t nb_ops, int *callfds, uint16_t *nb_callfds);\ndiff --git a/lib/vhost/version.map b/lib/vhost/version.map\nindex c92a9d4962..8ebde3f694 100644\n--- a/lib/vhost/version.map\n+++ b/lib/vhost/version.map\n@@ -13,6 +13,13 @@ DPDK_22 {\n \trte_vdpa_reset_stats;\n \trte_vdpa_unregister_device;\n \trte_vhost_avail_entries;\n+\trte_vhost_clr_inflight_desc_packed;\n+\trte_vhost_clr_inflight_desc_split;\n+\trte_vhost_crypto_create;\n+\trte_vhost_crypto_fetch_requests;\n+\trte_vhost_crypto_finalize_requests;\n+\trte_vhost_crypto_free;\n+\trte_vhost_crypto_set_zero_copy;\n \trte_vhost_dequeue_burst;\n \trte_vhost_driver_attach_vdpa_device;\n \trte_vhost_driver_callback_register;\n@@ -20,13 +27,17 @@ DPDK_22 {\n \trte_vhost_driver_disable_features;\n \trte_vhost_driver_enable_features;\n \trte_vhost_driver_get_features;\n+\trte_vhost_driver_get_protocol_features;\n+\trte_vhost_driver_get_queue_num;\n \trte_vhost_driver_get_vdpa_device;\n \trte_vhost_driver_register;\n \trte_vhost_driver_set_features;\n+\trte_vhost_driver_set_protocol_features;\n \trte_vhost_driver_start;\n \trte_vhost_driver_unregister;\n \trte_vhost_enable_guest_notification;\n \trte_vhost_enqueue_burst;\n+\trte_vhost_extern_callback_register;\n \trte_vhost_get_ifname;\n \trte_vhost_get_log_base;\n \trte_vhost_get_mem_table;\n@@ -35,15 +46,22 @@ DPDK_22 {\n \trte_vhost_get_numa_node;\n \trte_vhost_get_queue_num;\n \trte_vhost_get_vdpa_device;\n+\trte_vhost_get_vhost_ring_inflight;\n \trte_vhost_get_vhost_vring;\n \trte_vhost_get_vring_base;\n+\trte_vhost_get_vring_base_from_inflight;\n \trte_vhost_get_vring_num;\n \trte_vhost_gpa_to_vva;\n \trte_vhost_host_notifier_ctrl;\n \trte_vhost_log_used_vring;\n \trte_vhost_log_write;\n \trte_vhost_rx_queue_count;\n+\trte_vhost_set_inflight_desc_packed;\n+\trte_vhost_set_inflight_desc_split;\n+\trte_vhost_set_last_inflight_io_packed;\n+\trte_vhost_set_last_inflight_io_split;\n \trte_vhost_set_vring_base;\n+\trte_vhost_va_from_guest_pa;\n \trte_vhost_vring_call;\n \n \tlocal: *;\n@@ -52,25 +70,7 @@ DPDK_22 {\n EXPERIMENTAL {\n \tglobal:\n \n-\trte_vhost_driver_get_protocol_features;\n-\trte_vhost_driver_get_queue_num;\n-\trte_vhost_crypto_create;\n \trte_vhost_crypto_driver_start;\n-\trte_vhost_crypto_free;\n-\trte_vhost_crypto_fetch_requests;\n-\trte_vhost_crypto_finalize_requests;\n-\trte_vhost_crypto_set_zero_copy;\n-\trte_vhost_va_from_guest_pa;\n-\trte_vhost_extern_callback_register;\n-\trte_vhost_driver_set_protocol_features;\n-\trte_vhost_set_inflight_desc_split;\n-\trte_vhost_set_inflight_desc_packed;\n-\trte_vhost_set_last_inflight_io_split;\n-\trte_vhost_set_last_inflight_io_packed;\n-\trte_vhost_clr_inflight_desc_split;\n-\trte_vhost_clr_inflight_desc_packed;\n-\trte_vhost_get_vhost_ring_inflight;\n-\trte_vhost_get_vring_base_from_inflight;\n \trte_vhost_slave_config_change;\n \trte_vhost_async_channel_register;\n \trte_vhost_async_channel_unregister;\n",
    "prefixes": []
}