get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86387,
    "url": "http://patchwork.dpdk.org/api/patches/86387/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20210112081302.87715-2-haiyue.wang@intel.com/",
    "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": "<20210112081302.87715-2-haiyue.wang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210112081302.87715-2-haiyue.wang@intel.com",
    "date": "2021-01-12T08:13:00",
    "name": "[v6,1/3] net/iavf: support Ethernet CRC strip disable",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "24f499fe402fa3af28186842d69872e0ef5b5d1f",
    "submitter": {
        "id": 1044,
        "url": "http://patchwork.dpdk.org/api/people/1044/?format=api",
        "name": "Wang, Haiyue",
        "email": "haiyue.wang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patchwork.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20210112081302.87715-2-haiyue.wang@intel.com/mbox/",
    "series": [
        {
            "id": 14664,
            "url": "http://patchwork.dpdk.org/api/series/14664/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=14664",
            "date": "2021-01-12T08:12:59",
            "name": "Add AVF & DCF VLAN feaure",
            "version": 6,
            "mbox": "http://patchwork.dpdk.org/series/14664/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/86387/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/86387/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 4C57AA04B5;\n\tTue, 12 Jan 2021 09:28:49 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 84D60140D55;\n\tTue, 12 Jan 2021 09:28:43 +0100 (CET)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 62D57140D48\n for <dev@dpdk.org>; Tue, 12 Jan 2021 09:28:42 +0100 (CET)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 12 Jan 2021 00:28:42 -0800",
            "from npg-dpdk-haiyue-3.sh.intel.com ([10.67.118.237])\n by fmsmga001.fm.intel.com with ESMTP; 12 Jan 2021 00:28:40 -0800"
        ],
        "IronPort-SDR": [
            "\n 7rSrn2FZI8WxeS0XjQcMuEIz37b+vIIGg+6sIbHBmMVC5egD1v7krS4cXr0DqCKXx59z6OXsFv\n rQMSjzZTLj3g==",
            "\n Gn4s1muVhpEdwSZp8jFpyig7HBTdgcWYE9jU+F42cZu0Q97og7MZJuybaxNrolOk6R1jHN8+00\n vnpDRVQ2ZUWw=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9861\"; a=\"262788596\"",
            "E=Sophos;i=\"5.79,340,1602572400\"; d=\"scan'208\";a=\"262788596\"",
            "E=Sophos;i=\"5.79,340,1602572400\"; d=\"scan'208\";a=\"464443609\""
        ],
        "X-ExtLoop1": "1",
        "From": "Haiyue Wang <haiyue.wang@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "qiming.yang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com,\n qi.z.zhang@intel.com, qi.fu@intel.com, Haiyue Wang <haiyue.wang@intel.com>",
        "Date": "Tue, 12 Jan 2021 16:13:00 +0800",
        "Message-Id": "<20210112081302.87715-2-haiyue.wang@intel.com>",
        "X-Mailer": "git-send-email 2.30.0",
        "In-Reply-To": "<20210112081302.87715-1-haiyue.wang@intel.com>",
        "References": "<20201214071155.98764-1-haiyue.wang@intel.com>\n <20210112081302.87715-1-haiyue.wang@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v6 1/3] net/iavf: support Ethernet CRC strip\n disable",
        "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": "The VF will check the PF's CRC strip capability firstly, then set the\n'CRC strip disable' value in the queue configuration according to the\nRX CRC offload setting.\n\nSigned-off-by: Haiyue Wang <haiyue.wang@intel.com>\n---\n drivers/net/iavf/iavf_ethdev.c | 3 +++\n drivers/net/iavf/iavf_rxtx.c   | 6 +++++-\n drivers/net/iavf/iavf_vchnl.c  | 3 ++-\n 3 files changed, 10 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c\nindex 7bf31d4f4..49e6dd125 100644\n--- a/drivers/net/iavf/iavf_ethdev.c\n+++ b/drivers/net/iavf/iavf_ethdev.c\n@@ -800,6 +800,9 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)\n \t\tDEV_TX_OFFLOAD_MULTI_SEGS |\n \t\tDEV_TX_OFFLOAD_MBUF_FAST_FREE;\n \n+\tif (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_CRC)\n+\t\tdev_info->rx_offload_capa |= DEV_RX_OFFLOAD_KEEP_CRC;\n+\n \tdev_info->default_rxconf = (struct rte_eth_rxconf) {\n \t\t.rx_free_thresh = IAVF_DEFAULT_RX_FREE_THRESH,\n \t\t.rx_drop_en = 0,\ndiff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c\nindex 21d508b3f..d53d7b984 100644\n--- a/drivers/net/iavf/iavf_rxtx.c\n+++ b/drivers/net/iavf/iavf_rxtx.c\n@@ -550,11 +550,15 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,\n \trxq->rx_free_thresh = rx_free_thresh;\n \trxq->queue_id = queue_idx;\n \trxq->port_id = dev->data->port_id;\n-\trxq->crc_len = 0; /* crc stripping by default */\n \trxq->rx_deferred_start = rx_conf->rx_deferred_start;\n \trxq->rx_hdr_len = 0;\n \trxq->vsi = vsi;\n \n+\tif (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_KEEP_CRC)\n+\t\trxq->crc_len = RTE_ETHER_CRC_LEN;\n+\telse\n+\t\trxq->crc_len = 0;\n+\n \tlen = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;\n \trxq->rx_buf_len = RTE_ALIGN(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT));\n \ndiff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c\nindex 25d5cdaf5..c33194cdc 100644\n--- a/drivers/net/iavf/iavf_vchnl.c\n+++ b/drivers/net/iavf/iavf_vchnl.c\n@@ -458,6 +458,7 @@ iavf_get_vf_resource(struct iavf_adapter *adapter)\n \t\tVIRTCHNL_VF_OFFLOAD_FDIR_PF |\n \t\tVIRTCHNL_VF_OFFLOAD_ADV_RSS_PF |\n \t\tVIRTCHNL_VF_OFFLOAD_REQ_QUEUES |\n+\t\tVIRTCHNL_VF_OFFLOAD_CRC |\n \t\tVIRTCHNL_VF_LARGE_NUM_QPAIRS;\n \n \targs.in_args = (uint8_t *)&caps;\n@@ -853,7 +854,7 @@ iavf_configure_queues(struct iavf_adapter *adapter,\n \t\tvc_qp->rxq.ring_len = rxq[i]->nb_rx_desc;\n \t\tvc_qp->rxq.dma_ring_addr = rxq[i]->rx_ring_phys_addr;\n \t\tvc_qp->rxq.databuffer_size = rxq[i]->rx_buf_len;\n-\n+\t\tvc_qp->rxq.crc_disable = rxq[i]->crc_len != 0 ? 1 : 0;\n #ifndef RTE_LIBRTE_IAVF_16BYTE_RX_DESC\n \t\tif (vf->vf_res->vf_cap_flags &\n \t\t    VIRTCHNL_VF_OFFLOAD_RX_FLEX_DESC &&\n",
    "prefixes": [
        "v6",
        "1/3"
    ]
}