Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/129268/?format=api
http://patches.dpdk.org/api/patches/129268/?format=api", "web_url": "http://patches.dpdk.org/project/dts/patch/20230705105344.1031168-6-zhiminx.huang@intel.com/", "project": { "id": 3, "url": "http://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": "<20230705105344.1031168-6-zhiminx.huang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20230705105344.1031168-6-zhiminx.huang@intel.com", "date": "2023-07-05T10:53:43", "name": "[V2,5/6] test_plans/ice_kernelpf_dcf_test_plan:add new plan to cover the most of dcf pmd function", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "c30604e91790de877de74ca4c0eb63ba92100adc", "submitter": { "id": 1685, "url": "http://patches.dpdk.org/api/people/1685/?format=api", "name": "Huang, ZhiminX", "email": "zhiminx.huang@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dts/patch/20230705105344.1031168-6-zhiminx.huang@intel.com/mbox/", "series": [ { "id": 28816, "url": "http://patches.dpdk.org/api/series/28816/?format=api", "web_url": "http://patches.dpdk.org/project/dts/list/?series=28816", "date": "2023-07-05T10:53:38", "name": "add new common module and add new suites", "version": 2, "mbox": "http://patches.dpdk.org/series/28816/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/129268/comments/", "check": "pending", "checks": "http://patches.dpdk.org/api/patches/129268/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 B00B042DAB;\n\tWed, 5 Jul 2023 04:39:07 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A611540A8B;\n\tWed, 5 Jul 2023 04:39:07 +0200 (CEST)", "from mga12.intel.com (mga12.intel.com [192.55.52.136])\n by mails.dpdk.org (Postfix) with ESMTP id B34BD406BC\n for <dts@dpdk.org>; Wed, 5 Jul 2023 04:39:05 +0200 (CEST)", "from fmsmga008.fm.intel.com ([10.253.24.58])\n by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 04 Jul 2023 19:38:42 -0700", "from unknown (HELO localhost.localdomain) ([10.239.252.96])\n by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 04 Jul 2023 19:38:38 -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=1688524745; x=1720060745;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=MBAJkMKNkKaUeTBSYNNXypzRBHo/SLm7G0bR3dHYP6g=;\n b=acl+CetOPVKvc8WOYqwMvEqM7yUWl5L2zdKQkS3EboZsqlWb44o+gNVI\n RyUCKMdUiOBkIXAgv+VHICmtDgswYMDkDYDHUTrxb3Jq97nJDI1PwVWMY\n Vgxk1C9Kgh9/WVhqr0F/dG6P/Ojrbr+d1Ozqg2KCxBTDl8asRPUy+EYqn\n CWcTbhF2omANEwGwcGyPDMnlPbKKHB3wIbfu6iiiYWEDiUJzjtb61ReW5\n IYOy4qiUBKzopLPtHoJRPTQSITMWVDh3LrX3Jq1ODkgOJitCYfLmQasfJ\n vcXIqK/3JDOviBHo56kixv8WWwzjnvKeZbTzo9wVwi0Ud5uF+uPl2j0H5 A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6600,9927,10761\"; a=\"342821747\"", "E=Sophos;i=\"6.01,181,1684825200\"; d=\"scan'208\";a=\"342821747\"", "E=McAfee;i=\"6600,9927,10761\"; a=\"784364082\"", "E=Sophos;i=\"6.01,181,1684825200\"; d=\"scan'208\";a=\"784364082\"" ], "X-ExtLoop1": "1", "From": "Zhimin Huang <zhiminx.huang@intel.com>", "To": "dts@dpdk.org", "Cc": "Zhimin Huang <zhiminx.huang@intel.com>", "Subject": "[dts][PATCH V2 5/6] test_plans/ice_kernelpf_dcf_test_plan:add new\n plan to cover the most of dcf pmd function", "Date": "Wed, 5 Jul 2023 10:53:43 +0000", "Message-Id": "<20230705105344.1031168-6-zhiminx.huang@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20230705105344.1031168-1-zhiminx.huang@intel.com>", "References": "<20230705105344.1031168-1-zhiminx.huang@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 testplan for ice_kernelpf_dcf test suite.\n\nSigned-off-by: Zhimin Huang <zhiminx.huang@intel.com>\n---\n test_plans/ice_kernelpf_dcf_test_plan.rst | 596 ++++++++++++++++++++++\n 1 file changed, 596 insertions(+)\n create mode 100644 test_plans/ice_kernelpf_dcf_test_plan.rst", "diff": "diff --git a/test_plans/ice_kernelpf_dcf_test_plan.rst b/test_plans/ice_kernelpf_dcf_test_plan.rst\nnew file mode 100644\nindex 00000000..734c092a\n--- /dev/null\n+++ b/test_plans/ice_kernelpf_dcf_test_plan.rst\n@@ -0,0 +1,596 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+ Copyright(c) 2023 Intel Corporation\n+\n+=========================\n+Kernel PF + DCF test plan\n+=========================\n+\n+DPDK-22.07 make DCF full pmd feature.\n+This document provides the plan for testing DCF PMD function of Intel® Ethernet 800 Series.\n+\n+Requirement\n+===========\n+1. Hardware:\n+\n+ Intel® Ethernet 800 Series: E810-XXVDA4/E810-CQ, etc.\n+\n+2. Software:\n+ dpdk: http://dpdk.org/git/dpdk\n+ scapy: http://www.secdev.org/projects/scapy/\n+\n+3. create 2 VF from 2 PF in DUT, set mac address for this VF, set trust on for dcf::\n+\n+ echo 1 > /sys/bus/pci/devices/0000\\:18\\:00.0/sriov_numvfs\n+ echo 1 > /sys/bus/pci/devices/0000\\:18\\:00.1/sriov_numvfs\n+ ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55\n+ ip link set enp24s0f0 vf 0 trust on\n+ ip link set enp24s0f1 vf 0 trust on\n+\n+4. bind VF to vfio-pci::\n+\n+ modprobe vfio-pci\n+ usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:01.0 0000:18:09.0\n+\n+5. test dcf cases on host or in qemu, and launch testpmd::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:09.0,cap=dcf -- -i --rxq=16 --txq=16\n+ testpmd> set fwd rxonly\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+.. note::\n+\n+ 1.the kernel driver has MAC and VLAN Anti-Spoofing feature for VFs, the default is enable.\n+ disabled for vfs: ip link set <ethX> vf <vf id> spoofchk {off|on}\n+\n+ 2.for vf-vlan-pruning in ethtool --set-priv-flag, enable function to receive specific vlan packet.\n+\n+Test case: DCF basic RX/TX\n+==========================\n+Set rxonly forward, start testpmd\n+\n+Send 100 random packets from tester, check packets can be received\n+\n+Set txonly forward, start testpmd\n+\n+Check tester could receive the packets from application generated\n+\n+Test case: DCF promisc\n+======================\n+Ensure kernel trust mode is enable::\n+\n+ ip link set $PF_INTF vf 0 trust on\n+\n+Start testpmd, set mac forward and enable print output\n+\n+Use scapy to send random packets with current VF0's MAC, verify the\n+packets can be received and forwarded by the DCF.\n+\n+Use scapy to send random packets with a wrong MAC to VF0, verify the\n+packets can be received and forwarded by the DCF.\n+\n+Disable promisc mode::\n+\n+ testpmd> set promisc all off\n+\n+Use scapy to send random packets with current VF0's MAC, verify the\n+packets can be received and forwarded by the DCF.\n+\n+Use scapy to send random packets with a wrong MAC to VF0, verify the\n+packets can't be received and forwarded by the DCF.\n+\n+Enable promisc mode::\n+\n+ testpmd> set promisc all on\n+\n+Use scapy to send random packets with current VF0's MAC, verify the\n+packets can be received and forwarded by the DCF.\n+\n+Use scapy to send random packets with a wrong MAC to VF0, verify the\n+packets can be received and forwarded by the DCF.\n+\n+Test case: DCF multicast\n+========================\n+\n+Start testpmd\n+\n+Disable promisc and multicast mode::\n+\n+ testpmd> set promisc all off\n+ testpmd> set allmulti all off\n+ testpmd> start\n+\n+Send packet with current VF0's MAC, and check DCF can receive the packet.\n+\n+Send packet with multicast MAC 01:80:C2:00:00:08, and check DCF can not\n+receive the packet.\n+\n+Enable multicast mode::\n+\n+ testpmd> set allmulti all on\n+\n+configure multicast address::\n+\n+ testpmd> mcast_addr add 0 01:80:C2:00:00:08\n+\n+Send packet with current VF0's MAC, and check DCF can receive the packet.\n+\n+Send packet with multicast MAC 01:80:C2:00:00:08, and check DCF can\n+receive the packet.\n+\n+Test case: DCF broadcast\n+========================\n+Disable promisc mode::\n+\n+ testpmd> set promisc all off\n+ testpmd> start\n+\n+Send packet with broadcast address ff:ff:ff:ff:ff:ff, and check DCF can\n+receive the packet\n+\n+Test case: DCF unicast\n+======================\n+Disable promisc and multicast mode::\n+\n+ testpmd> set promisc all off\n+ testpmd> set allmulti all off\n+ testpmd> start\n+\n+Send packet with unicast address, and check DCF can receive the packet\n+\n+Test case: DCF mac add filter\n+=============================\n+Disable promisc and enable crc strip and add mac address::\n+\n+ testpmd> port stop all\n+ testpmd> port config all crc-strip on\n+ testpmd> port start all\n+ testpmd> set promisc all off\n+ testpmd> mac_addr add 0 00:11:22:33:44:55\n+\n+Use scapy to send 100 random packets with current VF0's MAC, verify the\n+packets can be received by one DCF and can be forwarded to another DCF\n+correctly.\n+\n+Use scapy to send 100 random packets with new added VF0's MAC, verify the\n+packets can be received by one DCF and can be forwarded to another DCF correctly.\n+\n+remove the added mac address::\n+\n+ testpmd> mac_addr remove 0 00:11:22:33:44:55\n+\n+Use scapy to send 100 random packets to the deleted MAC to VF0, verify the\n+packets can't be received by one DCF and also can't be forwarded to another\n+DCF correctly\n+\n+Use scapy to send 100 random packets with a wrong MAC to VF0, verify the\n+packets can't be received by one DCF and also can't be forwarded to another\n+DCF correctly.\n+\n+Test case: DCF vlan insertion\n+=============================\n+\n+Disable vlan strip::\n+\n+ testpmd> vlan set strip off 0\n+\n+Set vlan id 20 for tx_vlan::\n+\n+ testpmd> port stop all\n+ testpmd> tx_vlan set 0 20\n+ testpmd> vlan set filter on 0\n+ testpmd> rx_vlan set 0 20\n+ testpmd> port start all\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+Send normal packet::\n+\n+ p=Ether(dst=\"00:01:23:45:67:89\")/IP()/Raw(load='X'*30)\n+\n+Verify packet that out from DCF contains the vlan tag 20\n+\n+Test case: DCF vlan strip\n+=========================\n+\n+Enable vlan strip::\n+\n+ testpmd> vlan set filter on 0\n+ testpmd> rx_vlan add 20 0\n+ testpmd> vlan set strip on 0\n+ testpmd> set fwd mac\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+Send packets with vlan tag::\n+\n+ p=Ether(dst=\"00:01:23:45:67:89\")/Dot1Q(id=0x8100,vlan=20)/IP()/Raw(load='X'*30)\n+\n+Check that out from DCF doesn't contain the vlan tag.\n+\n+Disable vlan strip::\n+\n+ testpmd> vlan set strip off 0\n+\n+Send packets with vlan tag::\n+\n+ Ether(dst=\"00:01:23:45:67:89\")/Dot1Q(id=0x8100,vlan=20)/IP()/Raw(load='X'*30)\n+\n+Check that out from DCF contains the vlan tag.\n+\n+Test case: DCF vlan filter\n+==========================\n+\n+Enable vlan filter::\n+\n+ testpmd> vlan set filter on 0\n+ testpmd> rx_vlan add 20 0\n+ testpmd> vlan set strip off 0\n+ testpmd> set promisc all off\n+ testpmd> set fwd mac\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+Send packets with vlan tag::\n+\n+ p=Ether(dst=\"00:01:23:45:67:89\")/Dot1Q(id=0x8100,vlan=20)/IP()/Raw(load='X'*30)\n+\n+Check packets can be received and forwarded with vlan tag.\n+\n+Send packets with unmatched vlan tag::\n+\n+ p=Ether(dst=\"00:01:23:45:67:89\")/Dot1Q(id=0x8100,vlan=30)/IP()/Raw(load='X'*30)\n+\n+Check packets can not be received and forwarded.\n+\n+Disable vlan filter::\n+\n+ testpmd> vlan set filter off 0\n+\n+Send packets with vlan tag::\n+\n+ Ether(dst=\"00:01:23:45:67:89\")/Dot1Q(id=0x8100,vlan=20)/IP()/Raw(load='X'*30)\n+\n+if vf-vlan-pruning is on::\n+\n+ Check packets can be received and forwarded with vlan tag.\n+\n+if vf-vlan-pruning is off or not have this option::\n+\n+ Check packets can not be received and forwarded\n+\n+Test case: DCF vlan promisc\n+===========================\n+\n+Enable promisc and disable vlan filter::\n+\n+ testpmd> port stop all\n+ testpmd> set promisc all on\n+ testpmd> set verbose 1\n+ testpmd> vlan set filter off 0\n+ testpmd> vlan set strip off 0\n+ testpmd> set fwd mac\n+ testpmd> port start all\n+ testpmd> start\n+\n+Send 10 random packets with vlan tag::\n+\n+ Ether(dst=\"00:01:23:45:67:89\",type=0x8100)/Dot1Q(vlan=100,type=0x0800)/IP(src=\"196.222.232.1\")/(\"X\"*480)\n+ ...\n+\n+Check packets can be received and forwarded.\n+\n+Send 10 random packets without vlan tag::\n+\n+ Ether(dst=\"00:01:23:45:67:89\")/IP(src=\"196.222.232.1\")/(\"X\"*480)\n+ ...\n+\n+Check packets can be received and forwarded.\n+\n+Test case: DCF add pvid base rx\n+===============================\n+\n+Add pvid on DCF from PF device::\n+\n+ ip link set $PF_INTF vf 0 vlan 2\n+\n+Check pf device show correct pvid setting::\n+\n+ ip link show ens259f0\n+ ...\n+ vf 0 MAC 00:00:00:00:00:00, vlan 1, spoof checking on, link-state auto\n+\n+\n+Start testpmd\n+\n+Send packet with same vlan id and check DCF can receive\n+\n+Send packet without vlan and check DCF can't receive\n+\n+Send packet with wrong vlan id and check DCF can't receive\n+\n+Remove added vlan from PF device::\n+\n+ ip link set $PF_INTF vf 0 vlan 0\n+\n+Restart testpmd and send packet without vlan and check DCF can receive\n+\n+Set packet with vlan id 0 and check DCF can receive\n+\n+Set packet with random id 1-4095\n+\n+if vf-vlan-pruning is on::\n+\n+ Check packets can be received and forwarded.\n+\n+if vf-vlan-pruning is off or not have this option::\n+\n+ Check packets can not be received and forwarded\n+\n+send vlan=0 and not vlan pkt, also receive\n+\n+Test case: DCF add pvid base tx\n+===============================\n+Add pvid on DCF from PF device::\n+\n+ ip link set $PF_INTF vf 0 vlan 2\n+\n+Start testpmd with mac forward mode::\n+\n+ testpmd> set fwd mac\n+ testpmd> start\n+\n+Send packet from tester port1 and check packet received by tester port0::\n+\n+ Check port1 received packet with configured vlan 2\n+\n+Test case: DCF vlan rx combination\n+==================================\n+Start testpmd with rxonly mode::\n+\n+ testpmd> set fwd rxonly\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+Send packet without vlan and check packet received\n+\n+Send packet with vlan 0 and check packet received\n+\n+Add vlan on DCF from VF driver::\n+\n+ testpmd> rx_vlan add 1 0\n+\n+Send packet with vlan0/1 and check packet received\n+\n+Rerun with step5-6 with random vlan and max vlan 4095\n+\n+Remove vlan on DCF::\n+\n+ rx_vlan rm 1 0\n+\n+Send packet with vlan 0 and check packet received\n+\n+Send packet without vlan and check packet received\n+\n+Send packet with vlan 1 and check packet received\n+\n+Test case: DCF RSS\n+==================\n+\n+Start command with multi-queues like below::\n+\n+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --txq=4 --rxq=4\n+\n+Show RSS RETA configuration::\n+\n+ testpmd> show port 0 rss reta 64 (0xffffffffffffffff)\n+\n+ RSS RETA configuration: hash index=0, queue=0\n+ RSS RETA configuration: hash index=1, queue=1\n+ RSS RETA configuration: hash index=2, queue=2\n+ RSS RETA configuration: hash index=3, queue=3\n+ ...\n+ RSS RETA configuration: hash index=60, queue=0\n+ RSS RETA configuration: hash index=61, queue=1\n+ RSS RETA configuration: hash index=62, queue=2\n+ RSS RETA configuration: hash index=63, queue=3\n+\n+Config hash reta table::\n+\n+ testpmd> port config 0 rss reta (0,3)\n+ testpmd> port config 0 rss reta (1,2)\n+ testpmd> port config 0 rss reta (2,1)\n+ testpmd> port config 0 rss reta (3,0)\n+\n+Check RSS RETA configuration has changed::\n+\n+ testpmd> show port 0 rss reta 64 (0xffffffffffffffff)\n+\n+ RSS RETA configuration: hash index=0, queue=3\n+ RSS RETA configuration: hash index=1, queue=2\n+ RSS RETA configuration: hash index=2, queue=2\n+ RSS RETA configuration: hash index=3, queue=1\n+\n+Enable IP/TCP/UDP RSS::\n+\n+ testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|none)\n+\n+Send different flow types' IP/TCP/UDP packets to DCF port, check packets are\n+received by different configured queues.\n+\n+Test case: DCF RSS hash key\n+===========================\n+\n+Start command with multi-queues like below::\n+\n+ ./<build_target>/app/dpdk-testpmd -c f -n 4 -- -i --txq=4 --rxq=4\n+\n+Show port rss hash key::\n+\n+ testpmd> show port 0 rss-hash key\n+\n+Set rxonly fwd, enable print, start testpmd::\n+\n+ testpmd> set fwd rxonly\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+Send ipv4 packets, mark the RSS hash value::\n+\n+ p=Ether(dst=\"56:0A:EC:50:A4:28\")/IP(src=\"1.2.3.4\")/Raw(load='X'*30)\n+\n+Update ipv4 different hash key::\n+\n+ testpmd> port config 0 rss-hash-key ipv4 1b9d58a4b961d9cd1c56ad1621c3ad51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a\n+\n+Show port rss hash key, check the key is same to configured key::\n+\n+ testpmd> show port 0 rss-hash key\n+ RSS functions:\n+ all ipv4 ipv6 ip\n+ RSS key:\n+ 1B9D58A4B961D9CD1C56AD1621C3AD51632C16A5D16C21C3513D132C135D132C13AD1531C23A51D6AC49879C499D798A7D949C8A\n+\n+Send ipv4 packets, check RSS hash value is different::\n+\n+ p=Ether(dst=\"56:0A:EC:50:A4:28\")/IP(src=\"1.2.3.4\")/Raw(load='X'*30)\n+\n+Test case: DCF rxq txq number inconsistent\n+==========================================\n+\n+Start the testpmd with rxq not equal to txq::\n+\n+ ./<build_target>/app/dpdk-testpmd -l 1-9 -n 2 -- -i --rxq=4 --txq=8\n+\n+Set rxonly fwd, enable print, start testpmd::\n+\n+ testpmd> set fwd rxonly\n+ testpmd> set verbose 1\n+ testpmd> start\n+\n+Send different hash types' packets with different keywords, then check rx port\n+ could receive packets by different queues::\n+\n+ sendp([Ether(dst=\"00:01:23:45:67:89\")/IP(src=\"192.168.0.4\", dst=RandIP())], iface=\"eth3\")\n+\n+Check the total Rx packets in all the RxQ should be equal to the total HW Rx packets::\n+\n+ testpmd> show fwd stats all\n+ ------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------\n+ RX-packets: 252 TX-packets: 0 TX-dropped: 0\n+\n+ ------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------\n+ RX-packets: 257 TX-packets: 0 TX-dropped: 0\n+\n+ ------- Forward Stats for RX Port= 0/Queue= 2 -> TX Port= 0/Queue= 2 -------\n+ RX-packets: 259 TX-packets: 0 TX-dropped: 0\n+\n+ ------- Forward Stats for RX Port= 0/Queue= 3 -> TX Port= 0/Queue= 3 -------\n+ RX-packets: 256 TX-packets: 0 TX-dropped: 0\n+\n+ ---------------------- Forward statistics for port 0 ----------------------\n+ RX-packets: 1024 RX-dropped: 0 RX-total: 1024\n+ TX-packets: 0 TX-dropped: 0 TX-total: 0\n+ ----------------------------------------------------------------------------\n+\n+ +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++\n+ RX-packets: 1024 RX-dropped: 0 RX-total: 1024\n+ TX-packets: 0 TX-dropped: 0 TX-total: 0\n+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n+\n+Test case: DCF port stop/start\n+==============================\n+\n+Stop port::\n+\n+ testpmd> port stop all\n+\n+Start port::\n+\n+ testpmd> port start all\n+\n+Repeat above stop and start port for 10 times\n+\n+Send packets from tester\n+\n+Check DCF could receive packets\n+\n+Test case: DCF statistics reset\n+===============================\n+\n+Check port stats::\n+\n+ testpmd> show port stats all\n+\n+Clear port stats::\n+\n+ testpmd> clear port stats all\n+\n+Check DCF port stats, RX-packets and TX-packets are 0\n+\n+Set mac forward, enable print out\n+\n+Send 100 packets from tester\n+\n+Check DCF port stats, RX-packets and TX-packets are 100\n+\n+Clear DCF port stats\n+\n+Check DCF port stats, RX-packets and TX-packets are 0\n+\n+Test case: DCF information\n+==========================\n+\n+Start testpmd\n+\n+Show DCF port information, check link, speed...information correctness::\n+\n+ testpmd> show port info all\n+\n+Set mac forward, enable print out\n+\n+Send 100 packets from tester\n+\n+Check DCF port stats, RX-packets and TX-packets are 100\n+\n+Test case: DCF xstats check\n+===========================\n+\n+Launch testpmd and enable rss::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -a 0000:18:01.0,cap=dcf -a 0000:18:09.0,cap=dcf -- -i --rxq=4 --txq=4 --max-pkt-len=9000\n+ testpmd> port config all rss all\n+ testpmd> set fwd mac\n+\n+show the xstats before packet forwarding, all the value are 0.\n+\n+Start forward and send 100 packets with random src IP address,\n+ then stop forward.\n+\n+Check stats and xstats::\n+\n+ testpmd> stop\n+\n+ testpmd> show port stats all\n+\n+ testpmd> show port xstats all\n+\n+verify rx_good_packets, RX-packets of port 0 and tx_good_packets, TX-packets of port 1 are both 100.\n+rx_good_bytes, RX-bytes of port 0 and tx_good_bytes, TX-bytes of port 1 are the same.\n+Intel® Ethernet 700 Series does not support hardware per queue stats,\n+so rx_qx_packets and rx_qx_bytes are both 0.\n+tx_qx_packets and tx_qx_bytes are both 0 too.\n+\n+Clear stats::\n+\n+ testpmd> clear port stats all\n+\n+Check stats and xstats, verify rx_good_packets, RX-packets of port 0 and tx_good_packets, TX-packets of port 1 are both 0.\n+\n+Repeat above 4 and 5 steps.\n+\n+Clear xstats::\n+\n+ testpmd> clear port xstats all\n+\n+Check stats and xstats, verify rx_good_packets, RX-packets of port 0 and tx_good_packets, TX-packets of port 1 are both 0.\n", "prefixes": [ "V2", "5/6" ] }{ "id": 129268, "url": "