get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 77284,
    "url": "http://patches.dpdk.org/api/patches/77284/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200911015603.88359-23-ajit.khaparde@broadcom.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20200911015603.88359-23-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200911015603.88359-23-ajit.khaparde@broadcom.com",
    "date": "2020-09-11T01:56:00",
    "name": "[22/25] net/bnxt: fix bugs in representor data path",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "5506ffe478a8440f3a4862378179a8415bd052f5",
    "submitter": {
        "id": 501,
        "url": "http://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "http://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200911015603.88359-23-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 12116,
            "url": "http://patches.dpdk.org/api/series/12116/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12116",
            "date": "2020-09-11T01:55:38",
            "name": "patchset for bnxt",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/12116/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/77284/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/77284/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 92F0FA04B5;\n\tFri, 11 Sep 2020 04:00:06 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BFEF41C1BA;\n\tFri, 11 Sep 2020 03:57:40 +0200 (CEST)",
            "from mail-pf1-f225.google.com (mail-pf1-f225.google.com\n [209.85.210.225]) by dpdk.org (Postfix) with ESMTP id A09BA1C1D2\n for <dev@dpdk.org>; Fri, 11 Sep 2020 03:57:39 +0200 (CEST)",
            "by mail-pf1-f225.google.com with SMTP id o20so6004919pfp.11\n for <dev@dpdk.org>; Thu, 10 Sep 2020 18:57:39 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp-relay.gmail.com with ESMTPS id cl6sm80986pjb.15.2020.09.10.18.57.36\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Thu, 10 Sep 2020 18:57:38 -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=Y6jn6qdFXNXbGXHTrLoT7DcD+TeJblOMO3h0UY15PaM=;\n b=cLY0GFuUpxQDcMK4gnj2ljttsNHZXyK48lfV+9N31X/xoAvGJIKGDUAjIkjsQG2T3g\n XBCwQOntwardT8xiy3xW9SubPPWiJe44XTEiNs354c/2AVtjbSE7qtbuOX0clyeFIEcP\n ctdh06FoM8JDNI7tn4tvlOFt7OM/Jz5DcW5tY=",
        "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=Y6jn6qdFXNXbGXHTrLoT7DcD+TeJblOMO3h0UY15PaM=;\n b=VCPZXidwuLiHWe32lJL94T/iZt62tLJhxfT7XtqXpz2U5dG+Ma3uU3Ck1k0uebh3EN\n FHcFGUBiUTPKrHgDn8VSrnmPxwq3F1JLBdMVzN9D/nMIhJ4NKY7FzVeoN6ON5YGoPpmB\n TgyrQ7gYuUB1SPFuvu+i1XkODPkvLEib9X194m7sSjfRe+aDv5mv66BxAsSGUqn4EoMK\n RL2UhmJEhumssENFX7amfHdANcI1JBJ8CgIf7h2nj0Px9yvFKqCHMBTR6qkaRw4axEGL\n UU0ZGzH4/1uqeksCPb7av12VLRwFZ2zCeNO/jKA2FfzOs8KmgHZl9hqtv2XD/1m2+Qk2\n 271w==",
        "X-Gm-Message-State": "AOAM532pSASWg0Nrp30G47TG4fa0sqXv54r9sUZeVTgOGhutXz/Ez2Om\n A00BotmFp7iH7v8jFLj34yk4tk1unB8hL+aBnyJJQVlTaaC3Tf6aG87rudd5mYEd1Z6ueCzvVDY\n 3w4YHP2JIIddiYAdPpvs3XipmMuIPAe8tSp/u4W9LiaRxJKUi77dbYit5ClRrckWkITXGlBGglT\n U6Tg==",
        "X-Google-Smtp-Source": "\n ABdhPJyZvdNnQ6fJiZ4krqh1fkv/klCKAlPWxrY92fqF7HT3zCIZeP4fDfF+hW3EuPd/c+we/iRy+NG1mi+e",
        "X-Received": "by 2002:a17:902:6945:: with SMTP id\n k5mr8156060plt.131.1599789458666;\n Thu, 10 Sep 2020 18:57:38 -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": "Thu, 10 Sep 2020 18:56:00 -0700",
        "Message-Id": "<20200911015603.88359-23-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20200911015603.88359-1-ajit.khaparde@broadcom.com>",
        "References": "<20200911015603.88359-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 22/25] net/bnxt: fix bugs in representor data path",
        "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>\n---\n drivers/net/bnxt/bnxt_reps.c |  7 ++++---\n drivers/net/bnxt/bnxt_rxr.c  | 27 +++++++++++++--------------\n 2 files changed, 17 insertions(+), 17 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c\nindex 9d5fa7394..fd111bec5 100644\n--- a/drivers/net/bnxt/bnxt_reps.c\n+++ b/drivers/net/bnxt/bnxt_reps.c\n@@ -55,16 +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 =\n-\t\t&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->mbuf) {\n \t\tprod_rx_buf->mbuf = 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 b08689814..5bfe62a2a 100644\n--- a/drivers/net/bnxt/bnxt_rxr.c\n+++ b/drivers/net/bnxt/bnxt_rxr.c\n@@ -733,6 +733,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@@ -740,20 +753,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": [
        "22/25"
    ]
}