get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 129236,
    "url": "http://patchwork.dpdk.org/api/patches/129236/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dts/patch/20230704064726.455361-2-ke1.xu@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patchwork.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230704064726.455361-2-ke1.xu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230704064726.455361-2-ke1.xu@intel.com",
    "date": "2023-07-04T06:47:25",
    "name": "[V1,1/2] framework/packet: Add GTPU and GENEVE support for packet module.",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "d7a0be3a746416ea1405d41067d9695900d30b97",
    "submitter": {
        "id": 2810,
        "url": "http://patchwork.dpdk.org/api/people/2810/?format=api",
        "name": "Ke Xu",
        "email": "ke1.xu@intel.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dts/patch/20230704064726.455361-2-ke1.xu@intel.com/mbox/",
    "series": [
        {
            "id": 28802,
            "url": "http://patchwork.dpdk.org/api/series/28802/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dts/list/?series=28802",
            "date": "2023-07-04T06:47:24",
            "name": "Updating packet module for new util functions and packet types.",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/28802/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/129236/comments/",
    "check": "pending",
    "checks": "http://patchwork.dpdk.org/api/patches/129236/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-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 1393A42DCD;\n\tTue,  4 Jul 2023 08:47:34 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 8F2634113F;\n\tTue,  4 Jul 2023 08:47:33 +0200 (CEST)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id 8B3D440E03\n for <dts@dpdk.org>; Tue,  4 Jul 2023 08:47:32 +0200 (CEST)",
            "from fmsmga007.fm.intel.com ([10.253.24.52])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 03 Jul 2023 23:47:32 -0700",
            "from dpdk-xuke-host.sh.intel.com ([10.67.114.220])\n by fmsmga007.fm.intel.com with ESMTP; 03 Jul 2023 23:47:28 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1688453252; x=1719989252;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=7ozA6mjoKY7z2e9YPiA6EtrF+voRkI8A9aEA9bzYYts=;\n b=c2cpUVhmNCs+tS9orWwHq/0/66lBjAQ6z5fhGWv+Sjwe4REhGNdS3RSQ\n gdxTIxGHE9lh+u5aPNnCEp/L4DJHLnVcMJPK6wWBeoJPdsHqy8OUxQ0ob\n GvnxBfFmt556E3+V4NuP25E+9Ktjw6YPnu7sPHrthPBM9MJ4OtGn+6zZN\n 7A3d9xj4yFW71eBftwHADaGYjvfOrnZAFV50cSDENPdYhiaVsS2M3yKn2\n MBG39PYjiaNCFsrUE13VyI8E8lBO06DDo7uf4xqcrjD5V0OslGhtFSogP\n 1tEVm5cE/Dl+zc6PBy0WtOv8H5HMv4ZXqm7zPTggS5vgQ1cd2oSth1r42 w==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10760\"; a=\"393791580\"",
            "E=Sophos;i=\"6.01,179,1684825200\"; d=\"scan'208\";a=\"393791580\"",
            "E=McAfee;i=\"6600,9927,10760\"; a=\"721995407\"",
            "E=Sophos;i=\"6.01,179,1684825200\"; d=\"scan'208\";a=\"721995407\""
        ],
        "X-ExtLoop1": "1",
        "From": "Ke Xu <ke1.xu@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "ke1.xu@intel.com,\n\tlijuan.tu@intel.com,\n\tzhiminx.huang@intel.com",
        "Subject": "[V1][DTS 1/2] framework/packet: Add GTPU and GENEVE support for\n packet module.",
        "Date": "Tue,  4 Jul 2023 06:47:25 +0000",
        "Message-Id": "<20230704064726.455361-2-ke1.xu@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230704064726.455361-1-ke1.xu@intel.com>",
        "References": "<20230704064726.455361-1-ke1.xu@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org"
    },
    "content": "Implemented GTPU and GENEVE layer in packet module.\n\nPacket module only supports limited tunneling layers like VxLAN,\n GRE. New packet types are required in recent DPDK releases and\n GTPU and GENEVE are required to be added.\n\nSigned-off-by: Ke Xu <ke1.xu@intel.com>\n---\n framework/packet.py | 8 ++++++--\n 1 file changed, 6 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/framework/packet.py b/framework/packet.py\nindex 2c16e7cb..c44c955f 100644\n--- a/framework/packet.py\n+++ b/framework/packet.py\n@@ -17,6 +17,8 @@ import time\n from importlib import import_module\n from socket import AF_INET6\n \n+from scapy.contrib.geneve import GENEVE\n+from scapy.contrib.gtp import GTP_U_Header, GTPPDUSessionContainer\n from scapy.contrib.lldp import LLDPDU, LLDPDUManagementAddress\n from scapy.contrib.mpls import MPLS\n from scapy.contrib.nsh import NSH\n@@ -51,6 +53,7 @@ scapy_modules_required = {\n         \"GTPEchoRequest\",\n         \"GTPEchoResponse\",\n     ],\n+    \"scapy.contrib.geneve\": [\"GENEVE\"],\n     \"scapy.contrib.lldp\": [\"LLDPDU\", \"LLDPDUManagementAddress\"],\n     \"scapy.contrib.pfcp\": [\"PFCP\"],\n     \"scapy.contrib.nsh\": [\"NSH\"],\n@@ -90,7 +93,7 @@ LayersTypes = {\n     # <'ether type'=0x0800 'version'=4, 'protocol'=17 'destination port'=4789>\n     # or\n     # <'ether type'=0x86DD 'version'=6, 'next header'=17 'destination port'=4789>\n-    \"TUNNEL\": [\"ip\", \"gre\", \"vxlan\", \"nvgre\", \"geneve\", \"grenat\"],\n+    \"TUNNEL\": [\"ip\", \"gre\", \"vxlan\", \"nvgre\", \"gtpu\", \"geneve\", \"grenat\"],\n     \"INNER L2\": [\"inner_mac\", \"inner_vlan\"],\n     # inner_ipv4_unknown, inner_ipv6_unknown\n     \"INNER L3\": [\"inner_ipv4\", \"inner_ipv4_ext\", \"inner_ipv6\", \"inner_ipv6_ext\"],\n@@ -167,7 +170,8 @@ class scapy(object):\n         \"ipv6_in_ip\": IP() / IPv6(src=\"::1\"),\n         \"ipv6_frag_in_ip\": IP() / IPv6(src=\"::1\", nh=44) / IPv6ExtHdrFragment(),\n         \"nvgre\": GRE(key_present=1, proto=0x6558, key=0x00000100),\n-        \"geneve\": \"Not Implement\",\n+        \"gtpu\": GTP_U_Header(gtp_type=255, teid=0x123456),\n+        \"geneve\": GENEVE(),\n     }\n \n     def __init__(self):\n",
    "prefixes": [
        "V1",
        "1/2"
    ]
}