get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 77851,
    "url": "https://patches.dpdk.org/api/patches/77851/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200916042851.32914-23-ajit.khaparde@broadcom.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": "<20200916042851.32914-23-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200916042851.32914-23-ajit.khaparde@broadcom.com",
    "date": "2020-09-16T04:28:48",
    "name": "[v2,22/25] net/bnxt: fix bugs in representor data path",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e62efffee86b50b5f6dfbf91a9fab964a56ef55d",
    "submitter": {
        "id": 501,
        "url": "https://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "https://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200916042851.32914-23-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 12255,
            "url": "https://patches.dpdk.org/api/series/12255/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12255",
            "date": "2020-09-16T04:28:26",
            "name": "patchset for bnxt",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/12255/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/77851/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/77851/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 5498AA04C7;\n\tWed, 16 Sep 2020 06:32:44 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 391221C216;\n\tWed, 16 Sep 2020 06:29:45 +0200 (CEST)",
            "from mail-pl1-f225.google.com (mail-pl1-f225.google.com\n [209.85.214.225]) by dpdk.org (Postfix) with ESMTP id 2B5951C19F\n for <dev@dpdk.org>; Wed, 16 Sep 2020 06:29:20 +0200 (CEST)",
            "by mail-pl1-f225.google.com with SMTP id c3so2498900plz.5\n for <dev@dpdk.org>; Tue, 15 Sep 2020 21:29:20 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp-relay.gmail.com with ESMTPS id hk6sm132636pjb.6.2020.09.15.21.29.18\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Tue, 15 Sep 2020 21:29:19 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=/J/f5Cx0kyUDka1l0B28/NbKJzR/7QfBlFJX/SJK5ro=;\n b=Mh3Pgt01tabs8YYrq7dnoucOC6dIpzBepDQLqDx2f41ykiOOa98PINxFeyZG3gd3e7\n KPNqCsSf2q3d6nxoQWysTDIdYPLyfvh6tBGXa4Z20aYaGk/5zOho3ilGVsvD9iBAby32\n sRQ4g0iVYA3Wn4iXgOxqvjuIKt+qpLOZBvhjE=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=/J/f5Cx0kyUDka1l0B28/NbKJzR/7QfBlFJX/SJK5ro=;\n b=qapxAithTeChE6TpLZngGhIKWOc76DrcdbBgAcnQrw16G8wC57lQqszJ1bP/4c1BMK\n FnEmQzVxwDBHLhASW0mf8SU/3o4oBOWQdho+WqQ/J3qiOuQNAlx99IHlk17JZj3O21Ma\n iqBnZp54Wrt8TK2q/uLlxRSn0jSlU0v98wckSc0QLq2en3U5j10BHqR+beEpMo5E0EIl\n zF1brelLaSiH3QF+8wfwgz61orjaFszP23Z7Q+sYreVnqh/rqvOP4lnhcS1tSJa0Y6YA\n kIfnLQo5wZfAUkJFauOh2QSAUoO+yA/MEks6zKOvAfB2b/q3uBqwJtTl8rt38vqumPY9\n Z03Q==",
        "X-Gm-Message-State": "AOAM53180WXEQtFJphc8sTVzDKfd/r8CXujWFMFJj16a3yJ/3PfQmcSr\n UknFzvZ7BZRTFN/KNRRpkGk2w87uICWDG2GQYpzKMPlVa6tvWiIVBLpRcn0XkufvIwAjwi5zMos\n k0NhOjtQCKtTFxYkdFCPxk53k9RcoO5qoQXXFVEJ2N3IMMCQUJgDq/WaZ7GEblUtNgATT/YolFR\n IHqw==",
        "X-Google-Smtp-Source": "\n ABdhPJwyUFRgZFpJ/RLhin/j8MJBfNAWZrUPD/gSYZ7/iYwTNWapO6ZNJ/73F+D+q5aMX5ktrYTuQ9s6Tmgw",
        "X-Received": "by 2002:a17:90a:9503:: with SMTP id\n t3mr2316552pjo.171.1600230559111;\n Tue, 15 Sep 2020 21:29:19 -0700 (PDT)",
        "X-Relaying-Domain": "broadcom.com",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Somnath Kotur <somnath.kotur@broadcom.com>,\n Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>,\n Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>",
        "Date": "Tue, 15 Sep 2020 21:28:48 -0700",
        "Message-Id": "<20200916042851.32914-23-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20200916042851.32914-1-ajit.khaparde@broadcom.com>",
        "References": "<20200911015603.88359-1-ajit.khaparde@broadcom.com>\n <20200916042851.32914-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 22/25] net/bnxt: fix bugs in representor data\n\tpath",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "From: Somnath Kotur <somnath.kotur@broadcom.com>\n\n1.Representor Rx ring producer index was not getting reset in\nthe ring full case. Fix it by incrementing only in\nsuccess case.\n2.Instead of calling the mbuf specific routine to free the mbuf when\nrepresentor ring is full rte_free was being called leading to\n'invalid memory' errors being logged.\n3. Do not account the pkt meant for the representor in the parent\nRx ring's array that is returned to the application.\n\nFixes: 6dc83230b43b (\"net/bnxt: support port representor data path\")\n\nSigned-off-by: Somnath Kotur <somnath.kotur@broadcom.com>\nReviewed-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>\nReviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_reps.c |  6 ++++--\n drivers/net/bnxt/bnxt_rxr.c  | 27 +++++++++++++--------------\n 2 files changed, 17 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c\nindex 7350c0967..17010f1ee 100644\n--- a/drivers/net/bnxt/bnxt_reps.c\n+++ b/drivers/net/bnxt/bnxt_reps.c\n@@ -55,15 +55,17 @@ bnxt_vfr_recv(uint16_t port_id, uint16_t queue_id, struct rte_mbuf *mbuf)\n \tmask = rep_rxr->rx_ring_struct->ring_mask;\n \n \t/* Put this mbuf on the RxQ of the Representor */\n-\tprod_rx_buf = &rep_rxr->rx_buf_ring[rep_rxr->rx_prod++ & mask];\n+\tprod_rx_buf = &rep_rxr->rx_buf_ring[rep_rxr->rx_prod & mask];\n \tif (!*prod_rx_buf) {\n \t\t*prod_rx_buf = mbuf;\n \t\tvfr_bp->rx_bytes[que] += mbuf->pkt_len;\n \t\tvfr_bp->rx_pkts[que]++;\n+\t\trep_rxr->rx_prod++;\n \t} else {\n+\t\t/* Representor Rx ring full, drop pkt */\n \t\tvfr_bp->rx_drop_bytes[que] += mbuf->pkt_len;\n \t\tvfr_bp->rx_drop_pkts[que]++;\n-\t\trte_pktmbuf_free(mbuf); /* Representor Rx ring full, drop pkt */\n+\t\trte_pktmbuf_free(mbuf);\n \t}\n \n \treturn 0;\ndiff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c\nindex ca3e0a521..039217fa6 100644\n--- a/drivers/net/bnxt/bnxt_rxr.c\n+++ b/drivers/net/bnxt/bnxt_rxr.c\n@@ -795,6 +795,19 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,\n \t\tgoto rx;\n \t}\n \trxr->rx_prod = prod;\n+\n+\tif (BNXT_TRUFLOW_EN(bp) && (BNXT_VF_IS_TRUSTED(bp) || BNXT_PF(bp)) &&\n+\t    vfr_flag) {\n+\t\tbnxt_vfr_recv(mark_id, rxq->queue_id, mbuf);\n+\t\t/* Now return an error so that nb_rx_pkts is not\n+\t\t * incremented.\n+\t\t * This packet was meant to be given to the representor.\n+\t\t * So no need to account the packet and give it to\n+\t\t * parent Rx burst function.\n+\t\t */\n+\t\trc = -ENODEV;\n+\t\tgoto next_rx;\n+\t}\n \t/*\n \t * All MBUFs are allocated with the same size under DPDK,\n \t * no optimization for rx_copy_thresh\n@@ -802,20 +815,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,\n rx:\n \t*rx_pkt = mbuf;\n \n-\tif (BNXT_TRUFLOW_EN(bp) &&\n-\t    (BNXT_VF_IS_TRUSTED(bp) || BNXT_PF(bp)) &&\n-\t    vfr_flag) {\n-\t\tif (!bnxt_vfr_recv(mark_id, rxq->queue_id, mbuf)) {\n-\t\t\t/* Now return an error so that nb_rx_pkts is not\n-\t\t\t * incremented.\n-\t\t\t * This packet was meant to be given to the representor.\n-\t\t\t * So no need to account the packet and give it to\n-\t\t\t * parent Rx burst function.\n-\t\t\t */\n-\t\t\trc = -ENODEV;\n-\t\t}\n-\t}\n-\n next_rx:\n \n \t*raw_cons = tmp_raw_cons;\n",
    "prefixes": [
        "v2",
        "22/25"
    ]
}