get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2443,
    "url": "https://patches.dpdk.org/api/patches/2443/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1421883395-27235-5-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-5-git-send-email-olivier.matz@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1421883395-27235-5-git-send-email-olivier.matz@6wind.com",
    "date": "2015-01-21T23:36:23",
    "name": "[dpdk-dev,RFC,04/16] i40e: remove the use of PKT_TX_UDP_TUNNEL_PKT flag",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "65ea821b59c25cc13a8a3e19db4ae0235efb79cf",
    "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-5-git-send-email-olivier.matz@6wind.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/2443/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/2443/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 E7A565AAB;\n\tThu, 22 Jan 2015 00:36:54 +0100 (CET)",
            "from mail-we0-f179.google.com (mail-we0-f179.google.com\n\t[74.125.82.179]) by dpdk.org (Postfix) with ESMTP id D0C195A98\n\tfor <dev@dpdk.org>; Thu, 22 Jan 2015 00:36:50 +0100 (CET)",
            "by mail-we0-f179.google.com with SMTP id q59so22435317wes.10\n\tfor <dev@dpdk.org>; Wed, 21 Jan 2015 15:36:50 -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.49\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 21 Jan 2015 15:36:50 -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=R1Ma5FmmSLD/sUwMadWnC0CaeTUVrENDcAtz19qZUng=;\n\tb=VL4AYw1gn0xEQQRE3cIHoLZSZEr+5V2FGXAvtMmYdMW/WWKx0iOox+NgM+wudtz+0C\n\tzhNGRuY/MWYGtqShSO9VgeYRgzoMTUJ2VZsZW+Fun+fJtvcYRW4x7Iy+Vp+dYV1UV1Qe\n\tRUJNLMn9Kf5D3XxSkl0kF06s4gQ7XGiWXAxmXJ4ZPNkxpwEZCb//eju01hrxTwGDqv77\n\tS5X78hxC5b916y8oLuOZx9bDAgqz5HlSsKwiOfETHcg04oReJzkE+Wmn/JSgpmWuC1hV\n\t1z/0O1ZAA3uSUYZF/BUX5bE0Il282l5DcKUtR78rPAHC2HxKMa1mKaLg0MAATCu2st6Z\n\tpCng==",
        "X-Gm-Message-State": "ALoCoQnKuF22o3vd+/ZdSwaZIw8nQOqhSXERpNkkKHFwgO7kVRwVpQC6Nm4zg0TtM8Zf7XUGgyCe",
        "X-Received": "by 10.180.206.165 with SMTP id lp5mr61451317wic.83.1421883410630;\n\tWed, 21 Jan 2015 15:36:50 -0800 (PST)",
        "From": "Olivier Matz <olivier.matz@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 22 Jan 2015 00:36:23 +0100",
        "Message-Id": "<1421883395-27235-5-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 04/16] i40e: remove the use of\n\tPKT_TX_UDP_TUNNEL_PKT flag",
        "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": "The definition of the flag in rte_mbuf.h was:\n  TX packet is an UDP tunneled packet. It must be specified when using\n  outer checksum offload (PKT_TX_OUTER_IP_CKSUM)\n\nThis flag was used to tell the NIC that the offload type is UDP\n(I40E_TXD_CTX_UDP_TUNNELING flag). In the datasheet, it says it's\nrequired to specify the tunnel type in the register. However, some tests\n(see [1]) showed that it also works without this flag.\n\nMoreover, it is not explained how the hardware use this\ninformation. From a network perspective, this information is useless for\ncalculating the outer IP checksum as it does not depend on the payload.\n\nHaving this flag in the API would force the application to specify the\ntunnel type for something that looks only useful for this PMD. It will\nlimit the number of possible tunnel types (we would need a flag for each\ntunnel type) and therefore prevent to support outer IP checksum for\nproprietary tunnels.\n\nFinally, if a hardware advertises \"I support outer IP checksum\", it must\nbe supported for any payload types.\n\n[1] http://dpdk.org/ml/archives/dev/2015-January/011380.html\n\nSigned-off-by: Olivier Matz <olivier.matz@6wind.com>\n---\n lib/librte_pmd_i40e/i40e_rxtx.c | 6 ++----\n 1 file changed, 2 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/lib/librte_pmd_i40e/i40e_rxtx.c b/lib/librte_pmd_i40e/i40e_rxtx.c\nindex 9acdeee..0786255 100644\n--- a/lib/librte_pmd_i40e/i40e_rxtx.c\n+++ b/lib/librte_pmd_i40e/i40e_rxtx.c\n@@ -482,7 +482,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags,\n \t}\n \n \t/* UDP tunneling packet TX checksum offload */\n-\tif (unlikely(ol_flags & PKT_TX_UDP_TUNNEL_PKT)) {\n+\tif (unlikely(ol_flags & PKT_TX_OUTER_IP_CKSUM)) {\n \n \t\t*td_offset |= (outer_l2_len >> 1)\n \t\t\t\t<< I40E_TX_DESC_LENGTH_MACLEN_SHIFT;\n@@ -497,7 +497,6 @@ i40e_txd_enable_checksum(uint64_t ol_flags,\n \t\t/* Now set the ctx descriptor fields */\n \t\t*cd_tunneling |= (outer_l3_len >> 2) <<\n \t\t\t\tI40E_TXD_CTX_QW0_EXT_IPLEN_SHIFT |\n-\t\t\t\tI40E_TXD_CTX_UDP_TUNNELING |\n \t\t\t\t(l2_len >> 1) <<\n \t\t\t\tI40E_TXD_CTX_QW0_NATLEN_SHIFT;\n \n@@ -1165,8 +1164,7 @@ i40e_calc_context_desc(uint64_t flags)\n {\n \tuint64_t mask = 0ULL;\n \n-\tif (flags | PKT_TX_UDP_TUNNEL_PKT)\n-\t\tmask |= PKT_TX_UDP_TUNNEL_PKT;\n+\tmask |= PKT_TX_OUTER_IP_CKSUM;\n \n #ifdef RTE_LIBRTE_IEEE1588\n \tmask |= PKT_TX_IEEE1588_TMST;\n",
    "prefixes": [
        "dpdk-dev",
        "RFC",
        "04/16"
    ]
}