get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 94119,
    "url": "https://patches.dpdk.org/api/patches/94119/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210613000652.28191-25-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": "<20210613000652.28191-25-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210613000652.28191-25-ajit.khaparde@broadcom.com",
    "date": "2021-06-13T00:06:18",
    "name": "[v2,24/58] net/bnxt: add support for WC TCAM shared session",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "a8a91043bf08ad54dee30a7e2ca720d1426ceabf",
    "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/20210613000652.28191-25-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 17305,
            "url": "https://patches.dpdk.org/api/series/17305/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=17305",
            "date": "2021-06-13T00:05:54",
            "name": "enhancements to host based flow table management",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/17305/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/94119/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/94119/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 BD73AA0C41;\n\tSun, 13 Jun 2021 02:10:48 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C0A69411CF;\n\tSun, 13 Jun 2021 02:07:36 +0200 (CEST)",
            "from mail-pg1-f180.google.com (mail-pg1-f180.google.com\n [209.85.215.180])\n by mails.dpdk.org (Postfix) with ESMTP id 807B7411BB\n for <dev@dpdk.org>; Sun, 13 Jun 2021 02:07:31 +0200 (CEST)",
            "by mail-pg1-f180.google.com with SMTP id l184so5615565pgd.8\n for <dev@dpdk.org>; Sat, 12 Jun 2021 17:07:31 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp.gmail.com with ESMTPSA id gg22sm12774609pjb.17.2021.06.12.17.07.29\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Sat, 12 Jun 2021 17:07:29 -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; bh=lUggEQC0r6SSUgt3kjFLnIUo6NqpSsxscqJNGALpmos=;\n b=FcYE1IIPoJW4Hy7yRLy5CP4/Uuc9twGyc/zylZQHxDgBUaIjwo8Ws4aDM+E39hTpUY\n meQu5OleMvHf+GsmZ7rkurKYCSN3HLZ4X6BxTStgnguBnjKIYFe547vWkVb3TMtgn2Kt\n Ux6qCZxQ0it2MrQGv0FB9q+2nMQ24efZbMKYw=",
        "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;\n bh=lUggEQC0r6SSUgt3kjFLnIUo6NqpSsxscqJNGALpmos=;\n b=hbhV1p7qUDIgngNzFMfHa63Nb1O74jbZZ9Wgcppn3Iqtu4CmPLC+Qdv9LjqiLamXbp\n JI1q+O3TIq4TwVczLQUVbpP7Ps0JFOqn5NmANf8mxSDfcobPGmevS3F0W2MvtCMAxzDS\n Qftcg6d9rb2P+S3tdf1RCE93922bxmfmmoeWUFciw4JuH0OpN3XQaUJsf/8KGH4gwUK8\n aYdzGMzU1fnNU1UJhRVzmx6+zaaKDNnGyJgTFKFf+d7xbtanvLpFl3KyXIRRMHKeJ9nJ\n cMjG8T9qGdZsZJIxCsJp7Zo+p85EaAWp+XkqTJEfNwVXq4nHsVaog34i+1Jke9Pppafq\n n/Fg==",
        "X-Gm-Message-State": "AOAM532VTPzWg+J/0xg60OUNkW7e3c1hBsiTak0Vc2qBxvwpw8fvHNjL\n i1d4g28yY/UxRbJ9TtvxwmVedUUGIRNlQh7jAzmrcUBRHgji6DfQgIF57PVnoxjlVKs1t7ela+h\n eKopZPxVKyS5TXLdHtbOsZECMtcl7IaJrcNK6rKvbQPZhDhNNyHWo6XXtkq+IJPc=",
        "X-Google-Smtp-Source": "\n ABdhPJyZfAWThHWkoP5eK3Q2tEMYcIgo7zuloYu9/PAsXHosCh3G+NaNXMowOWFBqIa2fe26jDr8XA==",
        "X-Received": "by 2002:a63:5064:: with SMTP id q36mr6202442pgl.196.1623542850333;\n Sat, 12 Jun 2021 17:07:30 -0700 (PDT)",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Jay Ding <jay.ding@broadcom.com>,\n Randy Schacher <stuart.schacher@broadcom.com>,\n Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>,\n Mike Baucom <michael.baucom@broadcom.com>,\n Farah Smith <farah.smith@broadcom.com>",
        "Date": "Sat, 12 Jun 2021 17:06:18 -0700",
        "Message-Id": "<20210613000652.28191-25-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20210613000652.28191-1-ajit.khaparde@broadcom.com>",
        "References": "<20210530085929.29695-1-venkatkumar.duvvuru@broadcom.com>\n <20210613000652.28191-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"000000000000e5d86c05c49a8612\"",
        "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29",
        "Subject": "[dpdk-dev] [PATCH v2 24/58] net/bnxt: add support for WC TCAM\n shared session",
        "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": "From: Jay Ding <jay.ding@broadcom.com>\n\nIf the session shares WC TCAM entries with others,\nspecify it in the session name by attach \"-wc_tcam\".\nFirmware will flush the shared WC TCAM entries if\nthe last shared session using them is closed.\n\nSigned-off-by: Jay Ding <jay.ding@broadcom.com>\nSigned-off-by: Randy Schacher <stuart.schacher@broadcom.com>\nSigned-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>\nReviewed-by: Mike Baucom <michael.baucom@broadcom.com>\nReviewed-by: Farah Smith <farah.smith@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/tf_core/tf_msg.c     | 46 +++++++++++++++++++++++----\n drivers/net/bnxt/tf_core/tf_session.c |  5 +++\n 2 files changed, 44 insertions(+), 7 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/tf_core/tf_msg.c b/drivers/net/bnxt/tf_core/tf_msg.c\nindex fbd4b1d910..6717710dbd 100644\n--- a/drivers/net/bnxt/tf_core/tf_msg.c\n+++ b/drivers/net/bnxt/tf_core/tf_msg.c\n@@ -58,6 +58,16 @@ static_assert(sizeof(struct hwrm_tf_tbl_type_set_input) ==\n  */\n #define TF_PCI_BUF_SIZE_MAX 88\n \n+/**\n+ * This is the length of shared session name \"tf_share\"\n+ */\n+#define TF_SHARED_SESSION_NAME_LEN 8\n+\n+/**\n+ * This is the length of tcam shared session name \"tf_shared-wc_tcam\"\n+ */\n+#define TF_TCAM_SHARED_SESSION_NAME_LEN 17\n+\n /**\n  * If data bigger than TF_PCI_BUF_SIZE_MAX then use DMA method\n  */\n@@ -126,13 +136,17 @@ tf_msg_session_open(struct bnxt *bp,\n \tstruct hwrm_tf_session_open_output resp = { 0 };\n \tstruct tfp_send_msg_parms parms = { 0 };\n \tint name_len;\n-\tchar *name;\n+\tchar *session_name;\n+\tchar *tcam_session_name;\n \n \t/* Populate the request */\n \tname_len = strnlen(ctrl_chan_name, TF_SESSION_NAME_MAX);\n-\tname = &ctrl_chan_name[name_len - strlen(\"tf_shared\")];\n-\tif (!strncmp(name, \"tf_shared\", strlen(\"tf_shared\")))\n-\t\ttfp_memcpy(&req.session_name, name, strlen(\"tf_share\"));\n+\tsession_name = &ctrl_chan_name[name_len - strlen(\"tf_shared\")];\n+\ttcam_session_name = &ctrl_chan_name[name_len - strlen(\"tf_shared-wc_tcam\")];\n+\tif (!strncmp(tcam_session_name, \"tf_shared-wc_tcam\", strlen(\"tf_shared-wc_tcam\")))\n+\t\ttfp_memcpy(&req.session_name, tcam_session_name, TF_TCAM_SHARED_SESSION_NAME_LEN);\n+\telse if (!strncmp(session_name, \"tf_shared\", strlen(\"tf_shared\")))\n+\t\ttfp_memcpy(&req.session_name, session_name, TF_SHARED_SESSION_NAME_LEN);\n \telse\n \t\ttfp_memcpy(&req.session_name, ctrl_chan_name, TF_SESSION_NAME_MAX);\n \n@@ -177,6 +191,9 @@ tf_msg_session_client_register(struct tf *tfp,\n \tstruct tfp_send_msg_parms parms = { 0 };\n \tuint8_t fw_session_id;\n \tstruct tf_dev_info *dev;\n+\tint name_len;\n+\tchar *session_name;\n+\tchar *tcam_session_name;\n \n \t/* Retrieve the device information */\n \trc = tf_session_get_device(tfs, &dev);\n@@ -197,9 +214,24 @@ tf_msg_session_client_register(struct tf *tfp,\n \n \t/* Populate the request */\n \treq.fw_session_id = tfp_cpu_to_le_32(fw_session_id);\n-\ttfp_memcpy(&req.session_client_name,\n-\t\t   ctrl_channel_name,\n-\t\t   TF_SESSION_NAME_MAX);\n+\tname_len = strnlen(ctrl_channel_name, TF_SESSION_NAME_MAX);\n+\tsession_name = &ctrl_channel_name[name_len - strlen(\"tf_shared\")];\n+\ttcam_session_name = &ctrl_channel_name[name_len -\n+\t\tstrlen(\"tf_shared-wc_tcam\")];\n+\tif (!strncmp(tcam_session_name,\n+\t\t\t\t\"tf_shared-wc_tcam\",\n+\t\t\t\tstrlen(\"tf_shared-wc_tcam\")))\n+\t\ttfp_memcpy(&req.session_client_name,\n+\t\t\t\ttcam_session_name,\n+\t\t\t\tTF_TCAM_SHARED_SESSION_NAME_LEN);\n+\telse if (!strncmp(session_name, \"tf_shared\", strlen(\"tf_shared\")))\n+\t\ttfp_memcpy(&req.session_client_name,\n+\t\t\t\tsession_name,\n+\t\t\t\tTF_SHARED_SESSION_NAME_LEN);\n+\telse\n+\t\ttfp_memcpy(&req.session_client_name,\n+\t\t\t\tctrl_channel_name,\n+\t\t\t\tTF_SESSION_NAME_MAX);\n \n \tparms.tf_type = HWRM_TF_SESSION_REGISTER;\n \tparms.req_data = (uint32_t *)&req;\ndiff --git a/drivers/net/bnxt/tf_core/tf_session.c b/drivers/net/bnxt/tf_core/tf_session.c\nindex 71ccb2e3e7..90b65c59e6 100644\n--- a/drivers/net/bnxt/tf_core/tf_session.c\n+++ b/drivers/net/bnxt/tf_core/tf_session.c\n@@ -188,6 +188,11 @@ tf_session_create(struct tf *tfp,\n \tif (!strncmp(name, \"tf_shared\", strlen(\"tf_shared\")))\n \t\tsession->shared_session = true;\n \n+\tname = &parms->open_cfg->ctrl_chan_name[name_len -\n+\t\tstrlen(\"tf_shared-wc_tcam\")];\n+\tif (!strncmp(name, \"tf_shared-wc_tcam\", strlen(\"tf_shared-wc_tcam\")))\n+\t\tsession->shared_session = true;\n+\n \tif (session->shared_session && shared_session_creator) {\n \t\tsession->shared_session_creator = true;\n \t\tparms->open_cfg->shared_session_creator = true;\n",
    "prefixes": [
        "v2",
        "24/58"
    ]
}