get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 134039,
    "url": "http://patches.dpdk.org/api/patches/134039/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231109230900.24572-2-jspewock@iol.unh.edu/",
    "project": {
        "id": 1,
        "url": "http://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": "<20231109230900.24572-2-jspewock@iol.unh.edu>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231109230900.24572-2-jspewock@iol.unh.edu",
    "date": "2023-11-09T23:07:31",
    "name": "[v1,1/7] dts: Add scatter test suite",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f127c669d681cac01d7c0bb0168984ea40ec643b",
    "submitter": {
        "id": 2772,
        "url": "http://patches.dpdk.org/api/people/2772/?format=api",
        "name": "Jeremy Spewock",
        "email": "jspewock@iol.unh.edu"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20231109230900.24572-2-jspewock@iol.unh.edu/mbox/",
    "series": [
        {
            "id": 30229,
            "url": "http://patches.dpdk.org/api/series/30229/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30229",
            "date": "2023-11-09T23:07:30",
            "name": "dts: Port scatter suite over",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/30229/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/134039/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/134039/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 B4312432EC;\n\tFri, 10 Nov 2023 00:09:13 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E74CA40FDE;\n\tFri, 10 Nov 2023 00:09:11 +0100 (CET)",
            "from mail-io1-f97.google.com (mail-io1-f97.google.com\n [209.85.166.97]) by mails.dpdk.org (Postfix) with ESMTP id ADA7540156\n for <dev@dpdk.org>; Fri, 10 Nov 2023 00:09:08 +0100 (CET)",
            "by mail-io1-f97.google.com with SMTP id\n ca18e2360f4ac-7a66aa8ebb7so50997639f.3\n for <dev@dpdk.org>; Thu, 09 Nov 2023 15:09:08 -0800 (PST)",
            "from postal.iol.unh.edu (postal.iol.unh.edu.\n [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id\n e14-20020a056638020e00b0042b0c440bafsm926270jaq.70.2023.11.09.15.09.07\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Thu, 09 Nov 2023 15:09:07 -0800 (PST)",
            "from iol.unh.edu (unknown\n [IPv6:2606:4100:3880:1271:90f9:1b64:f6e6:867f])\n by postal.iol.unh.edu (Postfix) with ESMTP id 6E43A605C319;\n Thu,  9 Nov 2023 18:09:07 -0500 (EST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=iol.unh.edu; s=unh-iol; t=1699571348; x=1700176148; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=XeGhsEWscqMfEmEUcxpZr6BRiyV0QtEgWJmNXiR6cMU=;\n b=Ft2pO+vIt5MoTqZzV68unaUZvqsZqCLH/ksKZGXSS1m/5NnV0Z9xATDeCekRlXuytW\n I7XgazRvndBBX08Cj7MPWlWEq7+ITW5OFaYeFdGpFKOQAe9cINBIowS7UEQt+hqILj3H\n W2oXGA7LijmJi3p7X/DhpvueHLbpFDstx+CHE=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1699571348; x=1700176148;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=XeGhsEWscqMfEmEUcxpZr6BRiyV0QtEgWJmNXiR6cMU=;\n b=qcq40jcqPg2II8YbTGVKKgexIsb6SjYBCt8G73AX09bzaXNkKdJR50aHLgOjkiaqYM\n oW3wrdxhvYFttUmRy0jWmHm0P5JfNfIq6MIqbm/0LOl1BdhIn5MQUajdBWLQkCabgPa7\n yV2YKu65X/EUGb9NFvGWXfM/a680QbUR7/PBHYGwKc3yTygxsrtaQ0RjQeC5aU2dTh2r\n 8WUeCc6oAgKs6nC26WCAdbr1OIW/gWXpXoQqgV2N/AA+T3tIUBF/7vojSoolPwioNNfJ\n 6qh4O63NDJkKr12ydabPJcPaHfBO5mOtNHfIgWXywN9lX420+Myf64IfGbEgL5ZB4kj1\n KvMQ==",
        "X-Gm-Message-State": "AOJu0Yw9U/LrWPnunr8lLniokfBSU7xhKDvk8UmiooDokS/9XgZB64i/\n 0e1yJHiVIWm7SEQgaie8bGpqNnqLyst4TjNSHlaY0RamKqTwrpxZNsDxQtr1UHDeJg==",
        "X-Google-Smtp-Source": "\n AGHT+IGqQfoPc9VmHCwNgGk942v/XurqBPlcvFSBlmfh3FRs/VGl5a9KDQLjyFSQ7ybVToSuk1WpSILZDOOQ",
        "X-Received": "by 2002:a6b:f203:0:b0:7a9:7de6:7cbc with SMTP id\n q3-20020a6bf203000000b007a97de67cbcmr3444660ioh.18.1699571348011;\n Thu, 09 Nov 2023 15:09:08 -0800 (PST)",
        "X-Relaying-Domain": "iol.unh.edu",
        "From": "jspewock@iol.unh.edu",
        "To": "Honnappa.Nagarahalli@arm.com, juraj.linkes@pantheon.tech,\n thomas@monjalon.net, wathsala.vithanage@arm.com, probb@iol.unh.edu,\n paul.szczepanek@arm.com, yoan.picchi@foss.arm.com, ferruh.yigit@amd.com,\n andrew.rybchenko@oktetlabs.ru",
        "Cc": "dev@dpdk.org,\n\tJeremy Spewock <jspewock@iol.unh.edu>",
        "Subject": "[PATCH v1 1/7] dts: Add scatter test suite",
        "Date": "Thu,  9 Nov 2023 18:07:31 -0500",
        "Message-ID": "<20231109230900.24572-2-jspewock@iol.unh.edu>",
        "X-Mailer": "git-send-email 2.42.0",
        "In-Reply-To": "<20231109230900.24572-1-jspewock@iol.unh.edu>",
        "References": "<20231109230900.24572-1-jspewock@iol.unh.edu>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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"
    },
    "content": "From: Jeremy Spewock <jspewock@iol.unh.edu>\n\nThis test suite provides testing the support of scattered packets by\nPoll Mode Drivers using testpmd. It incorporates 5 different test cases\nwhich test the sending and receiving of packets with lengths that are\nless than the mbuf data buffer size, the same as the mbuf data buffer\nsize, and the mbuf data buffer size plus 1, 4, and 5. The goal of this\ntest suite is to align with the existing dts test plan for scattered\npackets within DTS.\n\nSigned-off-by: Jeremy Spewock <jspewock@iol.unh.edu>\n---\n dts/tests/TestSuite_scatter.py | 85 ++++++++++++++++++++++++++++++++++\n 1 file changed, 85 insertions(+)\n create mode 100644 dts/tests/TestSuite_scatter.py",
    "diff": "diff --git a/dts/tests/TestSuite_scatter.py b/dts/tests/TestSuite_scatter.py\nnew file mode 100644\nindex 0000000000..0adaad1b2c\n--- /dev/null\n+++ b/dts/tests/TestSuite_scatter.py\n@@ -0,0 +1,85 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2023 University of New Hampshire\n+\n+import struct\n+\n+from scapy.layers.inet import IP  # type: ignore[import]\n+from scapy.layers.l2 import Ether  # type: ignore[import]\n+from scapy.packet import Raw  # type: ignore[import]\n+from scapy.utils import hexstr  # type: ignore[import]\n+\n+from framework.remote_session import TestPmdShell\n+from framework.test_suite import TestSuite\n+\n+\n+class Scatter(TestSuite):\n+    mbsize: int\n+\n+    def set_up_suite(self) -> None:\n+        self.verify(\n+            len(self._port_links) > 1,\n+            \"Must have at least two port links to run scatter\",\n+        )\n+        if self._sut_port_egress.os_driver in [\"i40e\", \"ixgbe\", \"ice\"]:\n+            self.mbsize = 2048\n+        else:\n+            self.mbsize = 1024\n+\n+        self.tg_node.main_session.configure_port_mtu(9000, self._tg_port_egress)\n+        self.tg_node.main_session.configure_port_mtu(9000, self._tg_port_ingress)\n+\n+    def scatter_pktgen_send_packet(self, pktsize: int) -> str:\n+        \"\"\"Generate and send packet to the SUT.\n+\n+        Functional test for scatter packets.\n+\n+        Args:\n+            pktsize: Size of the packet to generate and send.\n+        \"\"\"\n+        packet = Ether() / IP() / Raw()\n+        packet.getlayer(2).load = \"\"\n+        payload_len = pktsize - len(packet) - 4\n+        payload = [\"58\"] * payload_len\n+        # pack the payload\n+        for X_in_hex in payload:\n+            packet.load += struct.pack(\n+                \"=B\", int(\"%s%s\" % (X_in_hex[0], X_in_hex[1]), 16)\n+            )\n+        received_packets = self.send_packet_and_capture(packet)\n+        self.verify(len(received_packets) > 0, \"Did not receive any packets.\")\n+        load = hexstr(received_packets[0].getlayer(2), onlyhex=1)\n+\n+        return load\n+\n+    def test_scatter_mbuf_2048(self) -> None:\n+        \"\"\"\n+        Test:\n+            Start testpmd and run functional test with preset mbsize.\n+        \"\"\"\n+        testpmd = self.sut_node.create_interactive_shell(\n+            TestPmdShell,\n+            app_parameters=(\n+                \"--mbcache=200 \"\n+                f\"--mbuf-size={self.mbsize} \"\n+                \"--max-pkt-len=9000 \"\n+                \"--port-topology=paired \"\n+                \"--tx-offloads=0x00008000\"\n+            ),\n+            privileged=True,\n+        )\n+        testpmd.send_command(\"set fwd mac\")\n+        testpmd.send_command(\"start\")\n+        link_is_up = testpmd.wait_link_status_up(0) and testpmd.wait_link_status_up(1)\n+        self.verify(link_is_up, \"Links never came up in TestPMD.\")\n+\n+        for offset in [-1, 0, 1, 4, 5]:\n+            recv_payload = self.scatter_pktgen_send_packet(self.mbsize + offset)\n+            self.verify(\n+                (\"58 \" * 8).strip() in recv_payload,\n+                \"Received packet had incorrect payload\",\n+            )\n+        testpmd.send_command(\"stop\")\n+\n+    def tear_down_suite(self) -> None:\n+        self.tg_node.main_session.configure_port_mtu(1500, self._tg_port_egress)\n+        self.tg_node.main_session.configure_port_mtu(1500, self._tg_port_ingress)\n",
    "prefixes": [
        "v1",
        "1/7"
    ]
}