get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125517,
    "url": "https://patches.dpdk.org/api/patches/125517/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20230327061218.3203632-3-weix.ling@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": "<20230327061218.3203632-3-weix.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230327061218.3203632-3-weix.ling@intel.com",
    "date": "2023-03-27T06:12:17",
    "name": "[V3,2/3] test_plans/dsa: add dsa testplan",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "dcafc17920c56a00d076f71cadc9a74d426e04ad",
    "submitter": {
        "id": 1828,
        "url": "https://patches.dpdk.org/api/people/1828/?format=api",
        "name": "Ling, WeiX",
        "email": "weix.ling@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dts/patch/20230327061218.3203632-3-weix.ling@intel.com/mbox/",
    "series": [
        {
            "id": 27544,
            "url": "https://patches.dpdk.org/api/series/27544/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=27544",
            "date": "2023-03-27T06:12:15",
            "name": "add new dsa test_plans and testsuite",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/27544/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/125517/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/125517/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 933524284E;\n\tMon, 27 Mar 2023 08:15:16 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 89A1D427F2;\n\tMon, 27 Mar 2023 08:15:16 +0200 (CEST)",
            "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n by mails.dpdk.org (Postfix) with ESMTP id 1DCA740ED5\n for <dts@dpdk.org>; Mon, 27 Mar 2023 08:15:13 +0200 (CEST)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 26 Mar 2023 23:15:13 -0700",
            "from unknown (HELO localhost.localdomain) ([10.239.252.222])\n by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 26 Mar 2023 23:15:12 -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=1679897714; x=1711433714;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=87yOeoBKtTLpmF3YavPLU1lxsViOpm2iij6Zo5bUtsE=;\n b=AI+F2dpoPm3MAGGSm7OjwAgEgDskskVU3UH+1iDs/bXdcAsnhNe5jS3t\n Fk+cd+f/3Y7vnfOWijDy4sjkCytlrlAQom4BYo81ZK8MxFJ/KPkH7Ga5L\n WWEXNTXhxWmVDCR4QRmR7OByIGErx65MuvzUP6jI0klV871SOGe3OwSOS\n GIhLU5VR5ywpCVIKUV3tYUBqivDtwsyniqc8Et22KkXrmbLibZbZF2L5P\n JmgBVYbkiz/ultYpFVHPj48EJ1UlTz0Wrrhzjykyhqairy1g+MNkkn8LQ\n bEbFAOvELcrW9ms9rR16U8Axdg/IX7D+uQuVKQawMspeFYO54PpWtNTvb g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10661\"; a=\"324072389\"",
            "E=Sophos;i=\"5.98,293,1673942400\"; d=\"scan'208\";a=\"324072389\"",
            "E=McAfee;i=\"6600,9927,10661\"; a=\"794198250\"",
            "E=Sophos;i=\"5.98,293,1673942400\"; d=\"scan'208\";a=\"794198250\""
        ],
        "X-ExtLoop1": "1",
        "From": "Wei Ling <weix.ling@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Wei Ling <weix.ling@intel.com>",
        "Subject": "[dts][PATCH V3 2/3] test_plans/dsa: add dsa testplan",
        "Date": "Mon, 27 Mar 2023 14:12:17 +0800",
        "Message-Id": "<20230327061218.3203632-3-weix.ling@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230327061218.3203632-1-weix.ling@intel.com>",
        "References": "<20230327061218.3203632-1-weix.ling@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "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": "Add new dsa test_plan to test dpdk-dma application\nand example of how to use the DMAdev API to make a packet copy\napplication use DSA channel with DPDK driver and Kernel driver.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n test_plans/dsa_test_plan.rst | 353 +++++++++++++++++++++++++++++++++++\n 1 file changed, 353 insertions(+)\n create mode 100644 test_plans/dsa_test_plan.rst",
    "diff": "diff --git a/test_plans/dsa_test_plan.rst b/test_plans/dsa_test_plan.rst\nnew file mode 100644\nindex 00000000..e4516250\n--- /dev/null\n+++ b/test_plans/dsa_test_plan.rst\n@@ -0,0 +1,353 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+   Copyright(c) 2023 Intel Corporation\n+\n+=============\n+DSA test plan\n+=============\n+\n+Description\n+===========\n+\n+This sample is intended as a demonstration of the basic components of a DPDK\n+forwarding application and example of how to use the DMAdev API to make a packet\n+copy application.\n+\n+Also while forwarding, the MAC addresses are affected as follows:\n+\n+*   The source MAC address is replaced by the TX port MAC address\n+\n+*   The destination MAC address is replaced by  02:00:00:00:00:TX_PORT_ID\n+\n+This application can be used to compare performance of using software packet\n+copy with copy done using a DMA device for different sizes of packets.\n+The example will print out statistics each second. The stats shows\n+received/send packets and packets dropped or failed to copy.\n+\n+In order to run the hardware copy application, the copying device\n+needs to be bound to user-space IO driver.\n+\n+Refer to the \"DMAdev library\" chapter in the \"Programmers guide\" for information\n+on using the library.\n+\n+The application requires a number of command line options:\n+\n+.. code-block:: console\n+\n+    ./<build_dir>/examples/dpdk-dma [EAL options] -- [-p MASK] [-q NQ] [-s RS] [-c <sw|hw>]\n+        [--[no-]mac-updating] [-b BS] [-f FS] [-i SI]\n+\n+where,\n+\n+*   p MASK: A hexadecimal bitmask of the ports to configure (default is all)\n+\n+*   q NQ: Number of Rx queues used per port equivalent to DMA channels\n+    per port (default is 1)\n+\n+*   c CT: Performed packet copy type: software (sw) or hardware using\n+    DMA (hw) (default is hw)\n+\n+*   s RS: Size of dmadev descriptor ring for hardware copy mode or rte_ring for\n+    software copy mode (default is 2048)\n+\n+*   --[no-]mac-updating: Whether MAC address of packets should be changed\n+    or not (default is mac-updating)\n+\n+*   b BS: set the DMA batch size\n+\n+*   f FS: set the max frame size\n+\n+*   i SI: set the interval, in second, between statistics prints (default is 1)\n+\n+The application can be launched in various configurations depending on\n+provided parameters. The app can use up to 2 lcores: one of them receives\n+incoming traffic and makes a copy of each packet. The second lcore then\n+updates MAC address and sends the copy. If one lcore per port is used,\n+both operations are done sequentially. For each configuration an additional\n+lcore is needed since the main lcore does not handle traffic but is\n+responsible for configuration, statistics printing and safe shutdown of\n+all ports and devices.\n+\n+The application can use a maximum of 8 ports.\n+\n+To run the application in a Linux environment with 3 lcores (the main lcore,\n+plus two forwarding cores), a single port (port 0), software copying and MAC\n+updating issue the command:\n+\n+    $ ./<build_dir>/examples/dpdk-dma -l 0-2 -n 2 -- -p 0x1 --mac-updating -c sw\n+\n+To run the application in a Linux environment with 2 lcores (the main lcore,\n+plus one forwarding core), 2 ports (ports 0 and 1), hardware copying and no MAC\n+updating issue the command:\n+\n+    $ ./<build_dir>/examples/dpdk-dma -l 0-1 -n 1 -- -p 0x3 --no-mac-updating -c hw\n+\n+Prerequisites\n+=============\n+\n+Test flow\n+---------\n+    \n+NIC RX -> copy packet -> free original -> update mac addresses -> NIC TX\n+\n+General set up\n+--------------\n+1. Compile DPDK::\n+\n+    # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=static <dpdk build dir>\n+    # ninja -C <dpdk build dir> -j 110\n+    For example:\n+    CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=static x86_64-native-linuxapp-gcc\n+    ninja -C x86_64-native-linuxapp-gcc -j 110\n+\n+Test case\n+=========\n+\n+Test Case 1: DMA basic test with differnet size packets using DSA dpdk driver\n+-----------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=1 -- -p 0x1 -q 1 --mac-updating -c hw\n+\n+3.Send different size packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC.\n+\n+4.Check performance from “Total packets Tx” and check log includes \"Worker Threads = 1, Copy Mode = hw\".\n+\n+Test Case 2: DMA test with multi-threads using DSA dpdk driver\n+--------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app with three cores::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=1 -- -p 0x1 -q 1 --mac-updating -c hw\n+\n+3. Send different size packets from TG to NIC.\n+\n+4.Check performance from “Total packets Tx” and check log includes \"Worker Threads = 2, Copy Mode = hw\".\n+\n+Test Case 3: DMA test with multi NIC ports using DSA dpdk driver\n+----------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 2 NIC ports to vfio-pci driver.\n+\n+2.Launch dma app with multi-ports::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-4 -n 2 -a 0000:29:00.0 -a 0000:29:00.1 -a 0000:6a:01.0,max_queues=2 -- -p 0x3 -q 1 --mac-updating -c hw\n+\n+3.Send different size packets (64B, 256B, 512B, 1024B, IMIX) from TG to two NIC ports.\n+\n+4.Check stats of two ports, each port's performance shows in “Total packets Tx” and each port's log includes \"Worker Threads = 2, Copy Mode = hw\".\n+\n+Test Case 4: DMA test with multi-queues using DSA dpdk driver\n+-------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app with multi-queues::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=2 -- -p 0x1 -q 2 --mac-updating -c hw\n+\n+3. Send random ip packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC port.\n+\n+4. Check stats of dma app, \"Worker Threads = 2, Copy Mode = hw, Rx Queues = 2\" and each dma channel can enqueue packets.\n+\n+5. Repeat step2 to step4 with queue number 4 and qemu number 8, at the same time, set max_queues equal to queue number.\n+Check performance gains status when queue numbers added.\n+\n+Test Case 5: DMA performance comparison between mac-updating and no-mac-updating using DSA dpdk driver\n+------------------------------------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=2 -- -p 0x1 -q 2 --no-mac-updating -c hw\n+\n+3. Send random ip packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC port.\n+\n+4. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+5.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=2 -- -p 0x1 -q 2 --mac-updating -c hw\n+\n+6. Send random ip packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC port.\n+\n+7. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+  \n+Test Case 6: DMA performance comparison between SW copies and HW copies using DSA dpdk driver  \n+---------------------------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app with SW mode::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=4 -- -p 0x1 -q 4 --mac-updating  -c sw\n+\n+3. Send random ip packets with different packet size,includes [64, 128, 256, 512, 1024, 1518] from TG.\n+\n+4. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+5.Launch dma app with HW mode::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a 0000:6a:01.0,max_queues=4 -- -p 0x1 -q 4 --mac-updating -c hw\n+\n+6. Send random ip packets with different packet size,includes [64, 128, 256, 512, 1024, 1518] from TG.\n+\n+7. Check performance from dma app and compare with hw copy test::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+Test Case 7: DMA basic test with differnet size packets using DSA kernel driver\n+-------------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and 1 NIC port to vfio-pci driver::\n+\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 29:00.0\n+\n+   ls /dev/dsa #check wq configure, reset if exist\n+   <dpdk dir># ./usertools/dpdk-devbind.py -u 6a:01.0\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b idxd 6a:01.0\n+   ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 1 0\n+   ls /dev/dsa #check wq configure success\n+\n+2.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a wq0.0 -- -p 0x1 -q 1 --mac-updating -c hw\n+\n+3.Send different size packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC.\n+\n+4.Check performance from “Total packets Tx” and check log includes \"Worker Threads = 1, Copy Mode = hw\".\n+\n+Test Case 8: DMA test with multi-threads using DSA kernel driver\n+----------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and 1 NIC port to vfio-pci driver.\n+\n+2.Launch dma app with three cores::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a wq0.0 -- -p 0x1 -q 1 --mac-updating -c hw\n+\n+3. Send different size packets from TG to NIC.\n+\n+4.Check performance from “Total packets Tx” and check log includes \"Worker Threads = 2, Copy Mode = hw\".\n+\n+Test Case 9: DMA test with multi NIC ports using DSA kernel driver\n+------------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and two NIC ports to vfio-pci driver::\n+\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 29:00.0\n+\n+   ls /dev/dsa #check wq configure, reset if exist\n+   <dpdk dir># ./usertools/dpdk-devbind.py -u 6a:01.0\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b idxd 6a:01.0\n+   ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0\n+   ls /dev/dsa #check wq configure success\n+\n+2.Launch dma app with multi-ports::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-4 -n 2 -a 0000:29:00.0 -a 0000:29:00.1 -a wq0.0 -a wq0.1 -- -p 0x3 -q 1 --mac-updating -c hw\n+\n+3.Send different size packets (64B, 256B, 512B, 1024B, IMIX) from TG to two NIC ports.\n+\n+4.Check stats of two ports, each port's performance shows in “Total packets Tx” and each port's log includes \"Worker Threads = 2, Copy Mode = hw\".\n+\n+Test Case 10: DMA test with multi-queues using DSA kernel driver\n+----------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and 1 NIC port to vfio-pci driver::\n+\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 29:00.0\n+\n+   ls /dev/dsa #check wq configure, reset if exist\n+   <dpdk dir># ./usertools/dpdk-devbind.py -u 6a:01.0\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b idxd 6a:01.0\n+   ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0\n+   ls /dev/dsa #check wq configure success\n+\n+2.Launch dma app with multi-queues::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a wq0.0 -a wq0.1 -- -p 0x1 -q 2 --mac-updating -c hw\n+\n+3. Send random ip packets (64B, 256B, 512B, 1024B, IMIX) from TG to NIC port.\n+\n+4. Check stats of dma app, \"Worker Threads = 2, Copy Mode = hw, Rx Queues = 2\" and each dma channel can enqueue packets.\n+\n+5. Repeat step2 to step4 with queue number 4 and qemu number 8, at the same time, reset and create WQ with the same number of queue numbers.\n+Check performance gains status when queue numbers added.\n+\n+Test Case 11: DMA performance comparison between mac-updating and no-mac-updating using DSA kernel driver\n+---------------------------------------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and 1 NIC port to vfio-pci driver::\n+\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 29:00.0\n+\n+   ls /dev/dsa #check wq configure, reset if exist\n+   <dpdk dir># ./usertools/dpdk-devbind.py -u 6a:01.0\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b idxd 6a:01.0\n+   ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 2 0\n+   ls /dev/dsa #check wq configure success\n+\n+2.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a wq0.0 -a wq0.1 -- -p 0x1 -q 2 --no-mac-updating -c hw\n+\n+3. Send random ip 64B packets from TG.\n+\n+4. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+5.Launch dma app::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-1 -n 2 -a 0000:29:00.0 -a wq0.0 -a wq0.1 -- -p 0x1 -q 2 --mac-updating -c hw\n+\n+6. Send random ip 64B packets from TG.\n+\n+7. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+Test Case 12: DMA performance comparison between SW copies and HW copies using DSA kernel driver  \n+------------------------------------------------------------------------------------------------\n+\n+1.Bind 1 DSA port to idxd driver and 1 NIC port to vfio-pci driver::\n+\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci 29:00.0\n+\n+   ls /dev/dsa #check wq configure, reset if exist\n+   <dpdk dir># ./usertools/dpdk-devbind.py -u 6a:01.0\n+   <dpdk dir># ./usertools/dpdk-devbind.py -b idxd 6a:01.0\n+   ./drivers/dma/idxd/dpdk_idxd_cfg.py -q 4 0\n+   ls /dev/dsa #check wq configure success\n+\n+2.Launch dma app with SW mode::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a wq0.0 -a wq0.1 -a wq0.2 -a wq0.3 -- -p 0x1 -q 4 --mac-updating  -c sw\n+\n+3. Send random ip packets with different packet size,includes [64, 128, 256, 512, 1024, 1518] from TG.\n+\n+4. Check performance from dma app::\n+\n+    Total packets Tx:                   xxx [pps]\n+\n+5.Launch dma app with HW mode::\n+\n+   ./x86_64-native-linuxapp-gcc/examples/dpdk-dma -l 0-2 -n 2 -a 0000:29:00.0 -a wq0.0 -a wq0.1 -a wq0.2 -a wq0.3 -- -p 0x1 -q 4 --mac-updating -c hw\n+\n+6. Send random ip packets with different packet size,includes [64, 128, 256, 512, 1024, 1518] from TG.\n+\n+7. Check performance from dma app and compare with hw copy test::\n+\n+    Total packets Tx:                   xxx [pps]\n",
    "prefixes": [
        "V3",
        "2/3"
    ]
}