get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 129556,
    "url": "https://patches.dpdk.org/api/patches/129556/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20230716134416.3220611-3-yaqi.tang@intel.com/",
    "project": {
        "id": 3,
        "url": "https://patches.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": "<20230716134416.3220611-3-yaqi.tang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230716134416.3220611-3-yaqi.tang@intel.com",
    "date": "2023-07-16T13:44:15",
    "name": "[V1,2/3] test_plans/mev_cpfl_hairpin_queue: mev cpfl support hairpin queue",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "e29b679733b82fe46cc3e4cf86147f6d282610ac",
    "submitter": {
        "id": 2357,
        "url": "https://patches.dpdk.org/api/people/2357/?format=api",
        "name": "Yaqi Tang",
        "email": "yaqi.tang@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dts/patch/20230716134416.3220611-3-yaqi.tang@intel.com/mbox/",
    "series": [
        {
            "id": 28945,
            "url": "https://patches.dpdk.org/api/series/28945/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=28945",
            "date": "2023-07-16T13:44:13",
            "name": "MEV CPFL support hairpin queue",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/28945/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/129556/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/129556/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 A4B7542E8C;\n\tSun, 16 Jul 2023 15:45:13 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9B9B742BAC;\n\tSun, 16 Jul 2023 15:45:13 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n by mails.dpdk.org (Postfix) with ESMTP id 9E8E24013F\n for <dts@dpdk.org>; Sun, 16 Jul 2023 15:45:11 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 16 Jul 2023 06:45:11 -0700",
            "from dpdk-yaqi.sh.intel.com ([10.67.118.189])\n by fmsmga005.fm.intel.com with ESMTP; 16 Jul 2023 06:45:10 -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=1689515111; x=1721051111;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=aMXU+pmqQBfInUiEblzGrYCq3DHuuyZj9FBycb7FO8M=;\n b=Bwg0z2o1e5WTtxmraAfLSUjrA5ilm2xgqB8pDdPsRbKrBJRl+rQ7gyFb\n fRG9I/8vfax+IB8aQqk9PYP4Vd1Xs6gP6tOVYm+Fk9QzKw7hOz7l09+w7\n /nMPys2D2l78B9+W1DqUdOlf6LzqJpuLrEiQgcR/R/O0ujh+np5fYOK3h\n Ak47Gvtuhn/kl7rMFTdKbCHZrdVSqZciNy0jekmBl+HjD4DZ1egKktwPp\n nqDV/eXC0+k7qt0RqS9kZmMlcLJWEA2NzB2DAGOim0HNKtEoNTYmfeD7h\n bvo85o8jyla39fI5jV4jyBpzy0eaJihbYMf7D8jScIlpwfNJlgCdZaE3V Q==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10773\"; a=\"368400779\"",
            "E=Sophos;i=\"6.01,210,1684825200\"; d=\"scan'208\";a=\"368400779\"",
            "E=McAfee;i=\"6600,9927,10773\"; a=\"1053618699\"",
            "E=Sophos;i=\"6.01,210,1684825200\"; d=\"scan'208\";a=\"1053618699\""
        ],
        "X-ExtLoop1": "1",
        "From": "Yaqi Tang <yaqi.tang@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Yaqi Tang <yaqi.tang@intel.com>",
        "Subject": "[PATCH V1 2/3] test_plans/mev_cpfl_hairpin_queue: mev cpfl support\n hairpin queue",
        "Date": "Sun, 16 Jul 2023 13:44:15 +0000",
        "Message-Id": "<20230716134416.3220611-3-yaqi.tang@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230716134416.3220611-1-yaqi.tang@intel.com>",
        "References": "<20230716134416.3220611-1-yaqi.tang@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": "Enabling Port2Port forwarding as hairpin queue implementation in dpdk cpfl PMD.\n\nSigned-off-by: Yaqi Tang <yaqi.tang@intel.com>\n---\n .../mev_cpfl_hairpin_queue_test_plan.rst      | 84 +++++++++++++++++++\n 1 file changed, 84 insertions(+)\n create mode 100644 test_plans/mev_cpfl_hairpin_queue_test_plan.rst",
    "diff": "diff --git a/test_plans/mev_cpfl_hairpin_queue_test_plan.rst b/test_plans/mev_cpfl_hairpin_queue_test_plan.rst\nnew file mode 100644\nindex 00000000..62044776\n--- /dev/null\n+++ b/test_plans/mev_cpfl_hairpin_queue_test_plan.rst\n@@ -0,0 +1,84 @@\n+==============================\n+MEV CPFL Support Hairpin Queue\n+==============================\n+\n+Description\n+===========\n+Enabling Port2Port forwarding as hairpin queue implementation in dpdk cpfl PMD.\n+launch testpmd not start forwarding, multi hairpin queues receive and transmit packet;\n+start forwarding, multi data queues receive and transmit packet;\n+\n+Prerequisites\n+=============\n+1. CI release >= MEV 0.81(3921)\n+\n+2. During IMC boot, press 'N' when you see 'start init app and auxiliary script [Y/N]'.\n+   cd /etc/dpcp\n+   cp cfg/cp_init_use_case_2.cfg ./cp_init.cfg\n+   cp cp_init.cfg cp_init.cfg.bak\n+   sed -i 's/pf_allowed_to_create_p2p = 5;/pf_allowed_to_create_p2p = 8;/g' cp_init.cfg \n+   sed -i 's/cpf_host = 4;/cpf_host = 0;/g' cp_init.cfg\n+\n+3. Update customized package\n+   Copy package to /etc/dpcp/package/ and rename with default_pkg.pkg.\n+   cd /etc/dpcp/package/\n+   rm default_pkg.pkg\n+   ssh-keygen -f \"/root/.ssh/known_hosts\" -R \"100.0.0.100\"\n+   scp default_pkg.pkg root@100.0.0.100:/etc/dpcp/package/\n+\n+4. Run /etc/init.d/run_default_init_app\n+\n+Test Case\n+=========\n+Common Steps\n+------------\n+1. Launch testpmd but not start forwarding.\n+\n+2. Configure port to receive packets on IMC::\n+    cli_client --query --config --verbose\n+    devmem 0x202920C100 64 0x804\n+\n+3. Create rule on IMC::\n+    vi rule_1.txt\n+    opcode=0x1303 prof_id=0x34 sub_prof_id=0x0 cookie=0xa2b87 key=0x18,0x0,00,00,00,00,0xde,0xad,0xbe,0xef,0x20,0x24,0x0,0x0,0x0,0x0,00,00,00,00,00,00,0xa,0x2,0x1d,0x64,00,00,00,00,00,00,00,00,00,00,00,00,\n+    0xa,0x2,0x1d,0x2,00,00,00,00,00,00,00,00,00,00,00,00 act=set_vsi{act_val=0 val_type=2 dst_pe=0 slot=0x0} act=set_q{qnum=0x151 no_implicit_vsi=1 prec=5} act=count{counter_id=0x10 slot=0x0 prec=0x3}\n+\n+    cli_client -x -f rule_1.txt\n+\n+4. Send match packet from tester and check tester can receive the transmit packet::\n+    sendp([Ether(dst=\"de:ad:be:ef:20:24\")/IP(src=\"10.2.29.100\", dst=\"10.2.29.2\")/UDP()],iface=\"ens21f0\",count=1)\n+\n+    tcpdump -i ens21f0 -env \n+\n+5. Start testpmd and send mismatch packets, check testpmd can receive and transmit packets::\n+    testpmd>start\n+    testpmd>set verbose 1\n+    testpmd>show port stats all\n+    testpmd>stop\n+    testpmd>quit\n+\n+    Mismatch pkts::\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IP(src=\"192.168.0.2\",dst=\"192.168.0.3\")/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IPv6(src=\"2001::2\",dst=\"2001::3\")/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IP(src=\"10.2.28.12\", dst=\"10.2.28.22\")/UDP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IP(src=\"10.2.28.12\", dst=\"10.2.28.22\")/TCP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IP(src=\"10.2.28.12\", dst=\"10.2.28.22\")/SCTP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IPv6(src=\"2001::2\",dst=\"2001::3\")/UDP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IPv6(src=\"2001::2\",dst=\"2001::3\")/TCP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+    sendp([Ether(src=\"00:11:22:33:44:55\", dst=\"02:70:80:C6:67:CE\")/IPv6(src=\"2001::2\",dst=\"2001::3\")/SCTP(sport=1026, dport=1027)/(\"X\"*480)], iface=\"enp24s0f0\")\n+\n+Test case 1: single_data_hairpin_queue\n+--------------------------------------\n+./dpdk-testpmd -l 1-2 -n 4 -a af:00.6,vport=0 -- -i --rxq=1 --txq=1 --hairpinq=1 --hairpin-mode=0\n+\n+Test case 2: multi_data_queues_single_hairpin_queue\n+---------------------------------------------------\n+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=16 --txq=16 --hairpinq=1 --hairpin-mode=0\n+\n+Test case 3: single_data_queue_multi_hairpin_queues\n+---------------------------------------------------\n+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=1 --txq=1 --hairpinq=16 --hairpin-mode=0\n+\n+Test case 4: multi_data_hairpin_queues\n+--------------------------------------\n+./dpdk-testpmd -l 1-2 -n 4 -a ca:00.6,vport=0 -- -i --rxq=16 --txq=16 --hairpinq=16 --hairpin-mode=0\n",
    "prefixes": [
        "V1",
        "2/3"
    ]
}