get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2442,
    "url": "https://patches.dpdk.org/api/patches/2442/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1421883395-27235-4-git-send-email-olivier.matz@6wind.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": "<1421883395-27235-4-git-send-email-olivier.matz@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1421883395-27235-4-git-send-email-olivier.matz@6wind.com",
    "date": "2015-01-21T23:36:22",
    "name": "[dpdk-dev,RFC,03/16] i40e: call i40e_txd_enable_checksum only for offloaded packets",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "213b89d59399b1fef2693f118313359a9254764b",
    "submitter": {
        "id": 8,
        "url": "https://patches.dpdk.org/api/people/8/?format=api",
        "name": "Olivier Matz",
        "email": "olivier.matz@6wind.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1421883395-27235-4-git-send-email-olivier.matz@6wind.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/2442/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/2442/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 6C3EE5AA7;\n\tThu, 22 Jan 2015 00:36:53 +0100 (CET)",
            "from mail-we0-f169.google.com (mail-we0-f169.google.com\n\t[74.125.82.169]) by dpdk.org (Postfix) with ESMTP id C48BA5A97\n\tfor <dev@dpdk.org>; Thu, 22 Jan 2015 00:36:49 +0100 (CET)",
            "by mail-we0-f169.google.com with SMTP id p10so22492179wes.0\n\tfor <dev@dpdk.org>; Wed, 21 Jan 2015 15:36:49 -0800 (PST)",
            "from glumotte.dev.6wind.com (guy78-3-82-239-227-177.fbx.proxad.net.\n\t[82.239.227.177]) by mx.google.com with ESMTPSA id\n\twa5sm1710761wjc.8.2015.01.21.15.36.48\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 21 Jan 2015 15:36:49 -0800 (PST)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=qurygHjZVeF3I5km7qyyWlCjBPV249rMC4DgH9lJYlg=;\n\tb=hMV0Uetv/JUuSUBH1B1PCFBGrqbIRGAZkcNWiPZZVeNeHhQdqETvy45eHI0YDrg2dy\n\t/3G4vVIi4zuTS8bWOQpFcyVpd+zaJ/jKbnEfLsh2aCnENe+DG9P/1J6k+tEzJixNBti1\n\tF3+PG35Xvr+M1gukrc1r3i2xBymmDRKvETbOE2eQMWWJJSE4dp3hQPwPJ98zFoUL7zNm\n\tZOqy46r3tQ1iDkdOkoGxfJWw8E+KGE4157tIy3+uYNQpb9G0sUHxrL7QsmNiG+bueqy3\n\t+x8x6LdpMV8gdqjrBD3nW8FUoCHTWHHfnU0dHTWA+VUfGRKNzwonQtEh0ul3fWfBI/tL\n\td97g==",
        "X-Gm-Message-State": "ALoCoQl8GQng4vdN57KR3wJjy5fHChYv177vB9qj/ncrFkGcslMRPA3iGdiBMWdJQY+2Sjvsw/0k",
        "X-Received": "by 10.181.28.168 with SMTP id jp8mr50149700wid.40.1421883409672; \n\tWed, 21 Jan 2015 15:36:49 -0800 (PST)",
        "From": "Olivier Matz <olivier.matz@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 22 Jan 2015 00:36:22 +0100",
        "Message-Id": "<1421883395-27235-4-git-send-email-olivier.matz@6wind.com>",
        "X-Mailer": "git-send-email 2.1.3",
        "In-Reply-To": "<1421883395-27235-1-git-send-email-olivier.matz@6wind.com>",
        "References": "<1421883395-27235-1-git-send-email-olivier.matz@6wind.com>",
        "Subject": "[dpdk-dev] [RFC 03/16] i40e: call i40e_txd_enable_checksum only for\n\toffloaded packets",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From i40e datasheet:\n\n  The IP header type and its offload. In case of tunneling, the IIPT\n  relates to the inner IP header. See also EIPT field for the outer\n  (External) IP header offload.\n\n  00 - non IP packet or packet type is not defined by software\n  01 - IPv6 packet\n  10 - IPv4 packet with no IP checksum offload\n  11 - IPv4 packet with IP checksum offload\n\nTherefore it is not needed to fill the IIPT field if no offload is\nrequested (we can keep the value to 00). For instance, the linux driver\ncode does not set it when (skb->ip_summed != CHECKSUM_PARTIAL). We can\ndo the same in the dpdk driver.\n\nThe function i40e_txd_enable_checksum() that fills the offload registers\ncan only be called for packets requiring an offload.\n\nSigned-off-by: Olivier Matz <olivier.matz@6wind.com>\n---\n lib/librte_pmd_i40e/i40e_rxtx.c | 15 +++++++++++----\n 1 file changed, 11 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c\nindex 8e9df96..9acdeee 100644\n--- a/lib/librte_pmd_i40e/i40e_rxtx.c\n+++ b/lib/librte_pmd_i40e/i40e_rxtx.c\n@@ -74,6 +74,11 @@\n \n #define I40E_TXD_CMD (I40E_TX_DESC_CMD_EOP | I40E_TX_DESC_CMD_RS)\n \n+#define I40E_TX_CKSUM_OFFLOAD_MASK (\t\t \\\n+\t\tPKT_TX_IP_CKSUM |\t\t \\\n+\t\tPKT_TX_L4_MASK |\t\t \\\n+\t\tPKT_TX_OUTER_IP_CKSUM)\n+\n #define RTE_MBUF_DATA_DMA_ADDR_DEFAULT(mb) \\\n \t(uint64_t) ((mb)->buf_physaddr + RTE_PKTMBUF_HEADROOM)\n \n@@ -1272,10 +1277,12 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n \n \t\t/* Enable checksum offloading */\n \t\tcd_tunneling_params = 0;\n-\t\ti40e_txd_enable_checksum(ol_flags, &td_cmd, &td_offset,\n-\t\t\t\t\t\tl2_len, l3_len, outer_l2_len,\n-\t\t\t\t\t\touter_l3_len,\n-\t\t\t\t\t\t&cd_tunneling_params);\n+\t\tif (ol_flags & I40E_TX_CKSUM_OFFLOAD_MASK) {\n+\t\t\ti40e_txd_enable_checksum(ol_flags, &td_cmd, &td_offset,\n+\t\t\t\tl2_len, l3_len, outer_l2_len,\n+\t\t\t\touter_l3_len,\n+\t\t\t\t&cd_tunneling_params);\n+\t\t}\n \n \t\tif (unlikely(nb_ctx)) {\n \t\t\t/* Setup TX context descriptor if required */\n",
    "prefixes": [
        "dpdk-dev",
        "RFC",
        "03/16"
    ]
}