From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B4CFF42C5C; Thu, 8 Jun 2023 12:16:22 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE65440A84; Thu, 8 Jun 2023 12:16:22 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id F093240042 for ; Thu, 8 Jun 2023 12:16:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686219380; x=1717755380; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hi+TtshKmo7kVIIZnECt26h9YkY0h6D87und7c+9xEo=; b=b6CoKhgdTtlW1kjgldr1QR87AO9UkbyyxkEduuODV4pW/XA2WXFREmWH Qri62T4tEE3c6lNP+x8j7qteHSE+vE9jHQtACRrtmUHXD2r3mIXiXJyGu qUTAF1GN0/kV0HXeZHRtXYGRhZlHUb4crUcjL0pVXM4XOVOEDUK+fPX1b mBQoFu+vI6MWNSJG5Cly/i+TWPS1JMeRD2rJ5qGoRtL67chOQKrl1nDOk T6jyuuPl6kFy+oFaHSkGbWq+X50nRIhBSx07sW+GQvqhOlNy8NndbFX+H OeXqItPMK7M1GwaEw55nwms/D+Ww3GBA9QZMTurOCLQZ4GtgLA1Px+yfX w==; X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="420832836" X-IronPort-AV: E=Sophos;i="6.00,226,1681196400"; d="scan'208";a="420832836" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2023 03:16:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10734"; a="660327235" X-IronPort-AV: E=Sophos;i="6.00,226,1681196400"; d="scan'208";a="660327235" Received: from unknown (HELO localhost.localdomain) ([10.239.252.96]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jun 2023 03:15:57 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dst][PATCH V1 3/6] test_plans/kernelpf_vf_test_plan:add new plan to cover most of the basic vf cases Date: Thu, 8 Jun 2023 18:27:39 +0000 Message-Id: <20230608182742.360594-4-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230608182742.360594-1-zhiminx.huang@intel.com> References: <20230608182742.360594-1-zhiminx.huang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org add new testplan for kernelpf_vf test suite Signed-off-by: Zhimin Huang --- test_plans/kernelpf_vf_test_plan.rst | 1294 ++++++++++++++++++++++++++ 1 file changed, 1294 insertions(+) create mode 100644 test_plans/kernelpf_vf_test_plan.rst diff --git a/test_plans/kernelpf_vf_test_plan.rst b/test_plans/kernelpf_vf_= test_plan.rst new file mode 100644 index 00000000..7d4ecef4 --- /dev/null +++ b/test_plans/kernelpf_vf_test_plan.rst @@ -0,0 +1,1294 @@ +.. SPDX-License-Identifier: BSD-3-Clause=0D + Copyright(c) 2023 Intel Corporation=0D +=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +Kernel PF + VF test plan=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Intel Adaptive Virtual Function is aimed to provide a common VF for VM=0D +which means just need one unified VF driver so you don't have to reload=0D +different VF driver when you upgrade the PF NIC.=0D +One of the advantages is you don't have to do any modification for code or= =0D +hardware for an existing VM image running on the new NIC.=0D +=0D +Requirement=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +This plan for VF only supports kernel PF scenario.=0D +=0D +Hardware=0D +=3D=3D=3D=3D=3D=3D=3D=3D=0D +ICE/I40E driver NIC.=0D +=0D +Prerequisites=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +1. Get the pci device id of DUT, for example::=0D +=0D + ./usertools/dpdk-devbind.py -s=0D +=0D + 0000:18:00.0 'Device 1592' if=3Denp24s0f0 drv=3Dice unused=3Digb_uio=0D + 0000:18:00.1 'Device 1592' if=3Denp24s0f1 drv=3Dice unused=3Digb_uio=0D +=0D +2. Create 2 VF from 2 kernel PF::=0D +=0D + echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs=0D + echo 1 > /sys/bus/pci/devices/0000\:18\:00.1/sriov_numvfs=0D +=0D +3. Set VF mac as 00:01:23:45:67:89::=0D +=0D + ip link set $PF_INTF vf 0 mac 00:01:23:45:67:89=0D +=0D +4. Test IAVF cases on host or in qemu=0D +=0D +5. Bind VF device to vfio-pci::=0D +=0D + usertools/dpdk-devbind.py --force --bind=3Dvfio-pci 0000:18:01.0 0000:= 18:09.0=0D +=0D +launch testpmd::=0D +=0D + .//app/dpdk-testpmd -c f -n 4 -- -i=0D +=0D +.. note::=0D +=0D + 1.the kernel driver has MAC and VLAN Anti-Spoofing feature for VFs, th= e default is enable.=0D + disabled for vfs: ip link set vf spoofchk {off|on}=0D +=0D + 2.for vf-vlan-pruning in ethtool --set-priv-flag, enable function to r= eceive specific vlan packet.=0D +=0D +Test case: VF basic RX/TX=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=0D +Set rxonly forward, start testpmd=0D +=0D +Send 100 random packets from tester, check packets can be received=0D +=0D +Set txonly forward, start testpmd=0D +=0D +Check tester could receive the packets from application generated=0D +=0D +Test case: VF promisc=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +Enable kernel trust mode::=0D +=0D + ip link set $PF_INTF vf 0 trust on=0D +=0D +Start VF testpmd, set mac forward and enable print output=0D +=0D +Use scapy to send random packets with current VF0's MAC, verify the=0D +packets can be received and forwarded by the VF.=0D +=0D +Use scapy to send random packets with a wrong MAC to VF0, verify the=0D +packets can be received and forwarded by the VF.=0D +=0D +Disable promisc mode::=0D +=0D + testpmd> set promisc all off=0D +=0D +Use scapy to send random packets with current VF0's MAC, verify the=0D +packets can be received and forwarded by the VF.=0D +=0D +Use scapy to send random packets with a wrong MAC to VF0, verify the=0D +packets can't be received and forwarded by the VF.=0D +=0D +Enable promisc mode::=0D +=0D + testpmd> set promisc all on=0D +=0D +Use scapy to send random packets with current VF0's MAC, verify the=0D +packets can be received and forwarded by the VF.=0D +=0D +Use scapy to send random packets with a wrong MAC to VF0, verify the=0D +packets can be received and forwarded by the VF.=0D +=0D +Disable kernel trust mode::=0D +=0D + ip link set $PF_INTF vf 0 trust off=0D +=0D +Test case: VF multicast=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Start VF testpmd=0D +=0D +Disable promisc and multicast mode::=0D +=0D + testpmd> set promisc all off=0D + testpmd> set allmulti all off=0D + testpmd> start=0D +=0D +Send packet with current VF0's MAC, and check VF can receive the packet.=0D +=0D +Send packet with multicast MAC 01:80:C2:00:00:08, and check VF can not=0D +receive the packet.=0D +=0D +Enable multicast mode::=0D +=0D + testpmd> set allmulti all on=0D +=0D +configure multicast address::=0D +=0D + testpmd> mcast_addr add 0 01:80:C2:00:00:08=0D +=0D +Send packet with current VF0's MAC, and check VF can receive the packet.=0D +=0D +Send packet with multicast MAC 01:80:C2:00:00:08, and check VF can=0D +receive the packet.=0D +=0D +Test case: VF broadcast=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +Disable VF promisc mode::=0D +=0D + testpmd> set promisc all off=0D + testpmd> start=0D +=0D +Send packet with broadcast address ff:ff:ff:ff:ff:ff, and check VF can=0D +receive the packet=0D +=0D +Test case: VF unicast=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +Disable VF promisc and multicast mode::=0D +=0D + testpmd> set promisc all off=0D + testpmd> set allmulti all off=0D + testpmd> start=0D +=0D +Send packet with unicast address, and check VF can receive the packet=0D +=0D +Test case: VF mac add filter=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=0D +Disable VF promisc and enable crc strip and add mac address::=0D +=0D + testpmd> port stop all=0D + testpmd> port config all crc-strip on=0D + testpmd> port start all=0D + testpmd> set promisc all off=0D + testpmd> mac_addr add 0 00:11:22:33:44:55=0D +=0D +Use scapy to send 100 random packets with current VF0's MAC, verify the=0D +packets can be received by one VF and can be forwarded to another VF=0D +correctly.=0D +=0D +Use scapy to send 100 random packets with new added VF0's MAC, verify the= =0D +packets can be received by one VF and can be forwarded to another VF corre= ctly.=0D +=0D +remove the added mac address::=0D +=0D + testpmd> mac_addr remove 0 00:11:22:33:44:55=0D +=0D +Use scapy to send 100 random packets to the deleted MAC to VF0, verify the= =0D +packets can't be received by one VF and also can't be forwarded to another= =0D +VF correctly=0D +=0D +Use scapy to send 100 random packets with a wrong MAC to VF0, verify the=0D +packets can't be received by one VF and also can't be forwarded to another= =0D +VF correctly.=0D +=0D +Test case: VF vlan insertion=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=0D +=0D +Disable VF vlan strip::=0D +=0D + testpmd> vlan set strip off 0=0D +=0D +Set vlan id 20 for tx_vlan::=0D +=0D + testpmd> port stop all=0D + testpmd> tx_vlan set 0 20=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan set 0 20=0D + testpmd> port start all=0D + testpmd> set fwd mac=0D + testpmd> start=0D +=0D +Send normal packet::=0D +=0D + p=3DEther(dst=3D"00:01:23:45:67:89")/IP()/Raw(load=3D'X'*30)=0D +=0D +Verify packet that out from VF contains the vlan tag 20=0D +=0D +Test case: VF vlan strip=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Enable VF vlan strip::=0D +=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan add 20 0=0D + testpmd> vlan set strip on 0=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D + testpmd> start=0D +=0D +Send packets with vlan tag::=0D +=0D + p=3DEther(dst=3D"00:01:23:45:67:89")/Dot1Q(id=3D0x8100,vlan=3D20)/IP()= /Raw(load=3D'X'*30)=0D +=0D +Check that out from VF doesn't contain the vlan tag.=0D +=0D +Disable VF vlan strip::=0D +=0D + testpmd> vlan set strip off 0=0D +=0D +Send packets with vlan tag::=0D +=0D + Ether(dst=3D"00:01:23:45:67:89")/Dot1Q(id=3D0x8100,vlan=3D20)/IP()/Raw= (load=3D'X'*30)=0D +=0D +Check that out from VF contains the vlan tag.=0D +=0D +Test case: VF vlan filter=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=0D +=0D +Enable vlan filter::=0D +=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan add 20 0=0D + testpmd> vlan set strip off 0=0D + testpmd> set promisc all off=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D + testpmd> start=0D +=0D +Send packets with vlan tag::=0D +=0D + p=3DEther(dst=3D"00:01:23:45:67:89")/Dot1Q(id=3D0x8100,vlan=3D20)/IP()= /Raw(load=3D'X'*30)=0D +=0D +Check packets can be received and forwarded with vlan tag.=0D +=0D +Send packets with unmatched vlan tag::=0D +=0D + p=3DEther(dst=3D"00:01:23:45:67:89")/Dot1Q(id=3D0x8100,vlan=3D30)/IP()= /Raw(load=3D'X'*30)=0D +=0D +Check packets can not be received and forwarded.=0D +=0D +Disable VF vlan filter::=0D +=0D + testpmd> vlan set filter off 0=0D +=0D +Send packets with vlan tag::=0D +=0D + Ether(dst=3D"00:01:23:45:67:89")/Dot1Q(id=3D0x8100,vlan=3D20)/IP()/Raw= (load=3D'X'*30)=0D +=0D +if vf-vlan-pruning is on::=0D +=0D + Check packets can be received and forwarded with vlan tag.=0D +=0D +if vf-vlan-pruning is off or not have this option::=0D +=0D + Check packets can not be received and forwarded=0D +=0D +Test case: VF vlan promisc=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=0D +=0D +Enable promisc and disable vlan filter::=0D +=0D + testpmd> port stop all=0D + testpmd> set promisc all on=0D + testpmd> set verbose 1=0D + testpmd> vlan set filter off 0=0D + testpmd> vlan set strip off 0=0D + testpmd> set fwd mac=0D + testpmd> port start all=0D + testpmd> start=0D +=0D +Send 10 random packets with vlan tag::=0D +=0D + Ether(dst=3D"00:01:23:45:67:89",type=3D0x8100)/Dot1Q(vlan=3D100,type= =3D0x0800)/IP(src=3D"196.222.232.1")/("X"*480)=0D + ...=0D +=0D +if vf-vlan-pruning is on::=0D +=0D + Check packets can be received and forwarded.=0D +=0D +if vf-vlan-pruning is off or not have this option::=0D +=0D + Check packets can not be received and forwarded.=0D +=0D +Send 10 random packets without vlan tag::=0D +=0D + Ether(dst=3D"00:01:23:45:67:89")/IP(src=3D"196.222.232.1")/("X"*480)=0D + ...=0D +=0D +Check packets can be received and forwarded.=0D +=0D +Test case: VF add pvid base rx=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=0D +=0D +Add pvid on VF0 from PF device::=0D +=0D + ip link set $PF_INTF vf 0 vlan 2=0D +=0D +Check pf device show correct pvid setting::=0D +=0D + ip link show ens259f0=0D + ...=0D + vf 0 MAC 00:00:00:00:00:00, vlan 1, spoof checking on, link-state aut= o=0D +=0D +=0D +Start testpmd=0D +=0D +Send packet with same vlan id and check VF can receive=0D +=0D +Send packet without vlan and check VF can't receive=0D +=0D +Send packet with wrong vlan id and check Vf can't receive=0D +=0D +Remove added vlan from PF device::=0D +=0D + ip link set $PF_INTF vf 0 vlan 0=0D +=0D +Restart testpmd and send packet without vlan and check VF can receive=0D +=0D +Set packet with vlan id 0 and check VF can receive=0D +=0D +Set packet with random id 1-4095=0D +=0D +if vf-vlan-pruning is on::=0D +=0D + Check packets can be received and forwarded.=0D +=0D +if vf-vlan-pruning is off or not have this option::=0D +=0D + Check packets can not be received and forwarded=0D +=0D +=0D +send vlan=3D0 and not vlan pkt, also receive=0D +=0D +Test case: VF add pvid base tx=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=0D +Add pvid on VF0 from PF device::=0D +=0D + ip link set $PF_INTF vf 0 vlan 2=0D +=0D +Start testpmd with mac forward mode::=0D +=0D + testpmd> set fwd mac=0D + testpmd> start=0D +=0D +Send packet from tester port1 and check packet received by tester port0::= =0D +=0D + Check port1 received packet with configured vlan 2=0D +=0D +Test case: VF vlan rx combination=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +Start testpmd with rxonly mode and parameter "--enable-hw-vlan"::=0D +=0D + testpmd> set fwd rxonly=0D + testpmd> set verbose 1=0D + testpmd> start=0D +=0D +.. note::=0D +=0D + parameter "--enable-hw-vlan" not support nic: IXGBE_10G-82599_SFP.=0D +=0D +Send packet without vlan and check packet received=0D +=0D +Send packet with vlan 0 and check packet received=0D +=0D +Add vlan on VF0 from VF driver::=0D +=0D + testpmd> rx_vlan add 1 0=0D +=0D +Send packet with vlan0/1 and check packet received=0D +=0D +Rerun with step5-6 with random vlan and max vlan 4095=0D +=0D +Remove vlan on VF0::=0D +=0D + rx_vlan rm 1 0=0D +=0D +Send packet with vlan 0 and check packet received=0D +=0D +Send packet without vlan and check packet received=0D +=0D +Send packet with vlan 1=0D +=0D +if vf-vlan-pruning is on::=0D +=0D + Check packets can be received and forwarded.=0D +=0D +if vf-vlan-pruning is off or not have this option::=0D +=0D + Check packets can not be received and forwarded.=0D +=0D +Test case: VF RSS=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Start command with multi-queues like below::=0D +=0D + .//app/dpdk-testpmd -c f -n 4 -- -i --txq=3D4 --rxq=3D4=0D +=0D +Show RSS RETA configuration::=0D +=0D + testpmd> show port 0 rss reta 64 (0xffffffffffffffff)=0D +=0D + RSS RETA configuration: hash index=3D0, queue=3D0=0D + RSS RETA configuration: hash index=3D1, queue=3D1=0D + RSS RETA configuration: hash index=3D2, queue=3D2=0D + RSS RETA configuration: hash index=3D3, queue=3D3=0D + ...=0D + RSS RETA configuration: hash index=3D60, queue=3D0=0D + RSS RETA configuration: hash index=3D61, queue=3D1=0D + RSS RETA configuration: hash index=3D62, queue=3D2=0D + RSS RETA configuration: hash index=3D63, queue=3D3=0D +=0D +Config hash reta table::=0D +=0D + testpmd> port config 0 rss reta (0,3)=0D + testpmd> port config 0 rss reta (1,2)=0D + testpmd> port config 0 rss reta (2,1)=0D + testpmd> port config 0 rss reta (3,0)=0D +=0D +Check RSS RETA configuration has changed::=0D +=0D + testpmd> show port 0 rss reta 64 (0xffffffffffffffff)=0D +=0D + RSS RETA configuration: hash index=3D0, queue=3D3=0D + RSS RETA configuration: hash index=3D1, queue=3D2=0D + RSS RETA configuration: hash index=3D2, queue=3D2=0D + RSS RETA configuration: hash index=3D3, queue=3D1=0D +=0D +Enable IP/TCP/UDP RSS::=0D +=0D + testpmd> port config all rss (all|ip|tcp|udp|sctp|ether|port|vxlan|genev= e|nvgre|none)=0D +=0D +Send different flow types' IP/TCP/UDP packets to VF port, check packets ar= e=0D +received by different configured queues.=0D +=0D +Test case: VF RSS hash key=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=0D +=0D +Start command with multi-queues like below::=0D +=0D + .//app/dpdk-testpmd -c f -n 4 -- -i --txq=3D4 --rxq=3D4=0D +=0D +Show port rss hash key::=0D +=0D + testpmd> show port 0 rss-hash key=0D +=0D +Set rxonly fwd, enable print, start testpmd::=0D +=0D + testpmd> set fwd rxonly=0D + testpmd> set verbose 1=0D + testpmd> start=0D +=0D +Send ipv4 packets, mark the RSS hash value::=0D +=0D + p=3DEther(dst=3D"56:0A:EC:50:A4:28")/IP(src=3D"1.2.3.4")/Raw(load=3D'X= '*30)=0D +=0D +Update ipv4 different hash key::=0D +=0D + testpmd> port config 0 rss-hash-key ipv4 1b9d58a4b961d9cd1c56ad1621c3a= d51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a= =0D +=0D +Show port rss hash key, check the key is same to configured key::=0D +=0D + testpmd> show port 0 rss-hash key=0D + RSS functions:=0D + all ipv4 ipv6 ip=0D + RSS key:=0D + 1B9D58A4B961D9CD1C56AD1621C3AD51632C16A5D16C21C3513D132C135D132C13AD15= 31C23A51D6AC49879C499D798A7D949C8A=0D +=0D +Send ipv4 packets, check RSS hash value is different::=0D +=0D + p=3DEther(dst=3D"56:0A:EC:50:A4:28")/IP(src=3D"1.2.3.4")/Raw(load=3D'X= '*30)=0D +=0D +Test case: test rxq txq number inconsistent=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Start the testpmd with rxq not equal to txq::=0D +=0D + .//app/dpdk-testpmd -l 1-9 -n 2 -- -i --rxq=3D4 --txq=3D= 8=0D +=0D +.. note::=0D + queue pairs in number of 1, 2, 4, 8, 16, 32, 64, etc.=0D + For vf of ixgbe, the maximum number of rxq and txq supported is 4.=0D +=0D +Set rxonly fwd, enable print, start testpmd::=0D +=0D + testpmd> set fwd rxonly=0D + testpmd> set verbose 1=0D + testpmd> start=0D +=0D +Send different hash types' packets with different keywords, then check rx = port=0D + could receive packets by different queues::=0D +=0D + sendp([Ether(dst=3D"00:01:23:45:67:89")/IP(src=3D"192.168.0.4", dst= =3DRandIP())], iface=3D"eth3")=0D +=0D +Check the total Rx packets in all the RxQ should be equal to the total HW = Rx packets::=0D +=0D + testpmd> show fwd stats all=0D + ------- Forward Stats for RX Port=3D 0/Queue=3D 0 -> TX Port=3D 0/Queu= e=3D 0 -------=0D + RX-packets: 252 TX-packets: 0 TX-dropped: 0=0D +=0D + ------- Forward Stats for RX Port=3D 0/Queue=3D 1 -> TX Port=3D 0/Queu= e=3D 1 -------=0D + RX-packets: 257 TX-packets: 0 TX-dropped: 0=0D +=0D + ------- Forward Stats for RX Port=3D 0/Queue=3D 2 -> TX Port=3D 0/Queu= e=3D 2 -------=0D + RX-packets: 259 TX-packets: 0 TX-dropped: 0=0D +=0D + ------- Forward Stats for RX Port=3D 0/Queue=3D 3 -> TX Port=3D 0/Queu= e=3D 3 -------=0D + RX-packets: 256 TX-packets: 0 TX-dropped: 0=0D +=0D + ---------------------- Forward statistics for port 0 ----------------= ------=0D + RX-packets: 1024 RX-dropped: 0 RX-total: 1024=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ----------------------------------------------------------------------= ------=0D +=0D + +++++++++++++++ Accumulated forward statistics for all ports++++++++++= +++++=0D + RX-packets: 1024 RX-dropped: 0 RX-total: 1024=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++= ++++++=0D +=0D +Test case: VF port stop/start=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=0D +=0D +Stop VF port::=0D +=0D + testpmd> port stop all=0D +=0D +Start VF port::=0D +=0D + testpmd> port start all=0D +=0D +Repeat above stop and start port for 10 times=0D +=0D +Send packets from tester=0D +=0D +Check VF could receive packets=0D +=0D +Test case: VF statistics reset=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=0D +=0D +Check VF port stats::=0D +=0D + testpmd> show port stats all=0D +=0D +Clear VF port stats::=0D +=0D + testpmd> clear port stats all=0D +=0D +Check VF port stats, RX-packets and TX-packets are 0=0D +=0D +Set mac forward, enable print out=0D +=0D +Send 100 packets from tester=0D +=0D +Check VF port stats, RX-packets and TX-packets are 100=0D +=0D +Clear VF port stats=0D +=0D +Check VF port stats, RX-packets and TX-packets are 0=0D +=0D +Test case: VF information=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=0D +=0D +Start testpmd=0D +=0D +Show VF port information, check link, speed...information correctness::=0D +=0D + testpmd> show port info all=0D +=0D +Set mac forward, enable print out=0D +=0D +Send 100 packets from tester=0D +=0D +Check VF port stats, RX-packets and TX-packets are 100=0D +=0D +Test case: VF xstats check=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=0D +=0D +Launch testpmd and enable rss::=0D +=0D + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -- -i --rxq=3D= 4 --txq=3D4 --max-pkt-len=3D9000=0D + testpmd> port config all rss all=0D + testpmd> set fwd mac=0D +=0D +.. Note::=0D +=0D + 8259x family VF device jumbo frame size setting shared with PF device.= =0D + ifconfig PF_intf mtu 3000=0D +=0D +show the xstats before packet forwarding, all the value are 0.=0D +=0D +Start forward and send 100 packets with random src IP address,=0D + then stop forward.=0D +=0D +Check stats and xstats::=0D +=0D + testpmd> stop=0D +=0D + testpmd> show port stats all=0D +=0D + testpmd> show port xstats all=0D +=0D +verify rx_good_packets, RX-packets of port 0 and tx_good_packets, TX-packe= ts of port 1 are both 100.=0D +rx_good_bytes, RX-bytes of port 0 and tx_good_bytes, TX-bytes of port 1 ar= e the same.=0D +Intel=C2=AE Ethernet 700 Series does not support hardware per queue stats,= =0D +so rx_qx_packets and rx_qx_bytes are both 0.=0D +tx_qx_packets and tx_qx_bytes are both 0 too.=0D +=0D +Clear stats::=0D +=0D + testpmd> clear port stats all=0D +=0D +Check stats and xstats, verify rx_good_packets, RX-packets of port 0 and t= x_good_packets, TX-packets of port 1 are both 0.=0D +=0D +Repeat above 4 and 5 steps.=0D +=0D +Clear xstats::=0D +=0D + testpmd> clear port xstats all=0D +=0D +Check stats and xstats, verify rx_good_packets, RX-packets of port 0 and t= x_good_packets, TX-packets of port 1 are both 0.=0D +=0D +Test case: IAVF DUAL VLAN filtering=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +enable vlan filtering on port VF::=0D +=0D + testpmd> set fwd mac=0D + Set mac packet forwarding mode=0D + testpmd> vlan set filter on 0=0D +=0D +check the vlan mode is set successfully::=0D +=0D + testpmd> show port info 0=0D +=0D + ********************* Infos for port 0 *********************=0D + ......=0D + VLAN offload:=0D + strip off, filter on, extend off, qinq strip off=0D +=0D +tester send qinq pkt and single vlan pkt which outer vlan id is 1 to VF::= =0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D1,t= ype=3D0x8100,prio=3D1)/Dot1Q(vlan=3D2,type=3D0x0800,prio=3D2)/IP(src=3D"196= .222.232.221")/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D1,t= ype=3D0x0800)/IP(src=3D"196.222.232.221")/("X"*480)], iface=3D"ens786f0")=0D +=0D +check the pkts can't be received in VF, but if the kernel cannot set ``vf-= vlan-pruning`` or kdriver is ixgbe, check can receive 2 pkts in VF.=0D +=0D +add rx_vlan in VF::=0D +=0D + testpmd> rx_vlan add 1 0=0D +=0D +repeat step 3, check the pkts can be received by VF and fwd to tester::=0D +=0D + check the pkts can be received by PF and fwd to tester with inner and = outer correct vlan ID and priority value.=0D + testpmd> port 0/queue 0: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D522 - nb_segs=3D1 - hw ptype: L2_ETHER - sw ptype: L2_ETHER_VLAN IN= NER_L2_ETHER_VLAN - l2_len=3D18 - inner_l2_len=3D4 - Receive queue=3D0x0=0D + ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CK= SUM_UNKNOWN=0D + port 0/queue 0: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - hw ptype: L2_ETHER - sw ptype: L2_ETHER_VLAN -= l2_len=3D18 - Receive queue=3D0x0=0D + ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CK= SUM_UNKNOWN=0D +=0D + tcpdump -i ens786f0 -nn -e -v=0D +=0D + 16:50:38.807158 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 1, ethertype 802.1Q, vlan 2, p 2, etherty= pe 0x0800,=0D + 16:50:38.807217 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 1, ethertype 802.1Q, vlan 2, p 2, etherty= pe 0x0800,=0D +=0D + 16:51:06.083084 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype 0x0800,=0D + 16:51:06.083127 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype 0x0800,=0D +=0D +tester send qinq pkt and single vlan pkt which outer vlan id is 11 to VF::= =0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D11,= type=3D0x8100,prio=3D1)/Dot1Q(vlan=3D2,type=3D0x0800,prio=3D2)/IP(src=3D"19= 6.222.232.221")/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D11,= type=3D0x0800)/IP(src=3D"196.222.232.221")/("X"*480)], iface=3D"ens786f0")= =0D +=0D +check the pkts can not be received by VF.=0D +=0D +remove rx_vlan in VF1::=0D +=0D + testpmd> rx_vlan rm 1 0=0D +=0D +repeat step 3, check the pkts can not be received by VF, but if the kernel= cannot set ``vf-vlan-pruning``, check can receive 2 pkts in VF.=0D +=0D +Test case: IAVF DUAL VLAN header stripping=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +enable vlan filtering on port VF::=0D +=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan add 1 0=0D +=0D +check the vlan mode is set successfully::=0D +=0D + testpmd> show port info 0=0D +=0D + ********************* Infos for port 0 *********************=0D + ......=0D + VLAN offload:=0D + strip off, filter on, extend off, qinq strip off=0D +=0D +enable vlan header stripping on VF::=0D +=0D + testpmd> vlan set strip on 0=0D +=0D +check the vlan mode is set successfully::=0D +=0D + testpmd> show port info 0=0D +=0D + ********************* Infos for port 0 *********************=0D + ......=0D + VLAN offload:=0D + strip on, filter on, extend off, qinq strip off=0D +=0D +tester send qinq pkt and single vlan pkt which outer vlan id is 1 to VF::= =0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D1,t= ype=3D0x8100)/Dot1Q(vlan=3D2,type=3D0x0800)/IP(src=3D"196.222.232.221")/("X= "*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D1,t= ype=3D0x0800)/IP(src=3D"196.222.232.221")/("X"*480)], iface=3D"ens786f0")=0D +=0D +check the pkts can be received in VF and fwd to tester without outer vlan = header::=0D +=0D + testpmd> port 0/queue 10: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - RSS hash=3D0xc7b627aa - RSS queue=3D0xa - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_I= PV4 - l2_len=3D18 - l3_len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receiv= e queue=3D0xa=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + port 0/queue 10: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0xc7b627aa - RSS queue=3D0xa - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receive que= ue=3D0xa=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + 10:12:38.034948 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:12:38.035025 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 2, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D + 10:12:44.806825 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:12:44.806865 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype IPv4 = (0x0800), length 514: (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto= Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +disable vlan header stripping on VF1::=0D +=0D + testpmd> vlan set strip off 0=0D +=0D +check the vlan mode is set successfully::=0D +=0D + testpmd> show port info 0=0D +=0D + ********************* Infos for port 0 *********************=0D + ......=0D + VLAN offload:=0D + strip off, filter on, extend off, qinq strip off=0D +=0D +repeat step 5, check the pkts can be received in VF and fwd to tester with= outer vlan header::=0D +=0D + testpmd> port 0/queue 10: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D522 - nb_segs=3D1 - RSS hash=3D0xc7b627aa - RSS queue=3D0xa - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNE= R_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - inner_l3_= len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receive queue=3D0xa=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + port 0/queue 10: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - RSS hash=3D0xc7b627aa - RSS queue=3D0xa - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_I= PV4 - l2_len=3D18 - l3_len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receiv= e queue=3D0xa=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + 09:49:08.295172 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 09:49:08.295239 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D + 09:49:41.043101 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 09:49:41.043166 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +Test case: IAVF DUAL VLAN header insertion=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +.. note::=0D +=0D + according to dpdk commit d048a0aaae27809523969904c2f7b71fe3cc1bb6,=0D + when the ice driver version newer than 1.8.9, avx512 tx path not suppor= t insert correct vlag tag(outer of QinQ)=0D +=0D +enable vlan filtering on port VF::=0D +=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan add 11 0=0D +=0D +set up test environment again::=0D +=0D + echo 1 > /sys/bus/pci/devices/0000:18:00.0/sriov_numvfs=0D + ip link set ens785f0 vf 0 mac 00:11:22:33:44:11=0D + ip link set dev ens785f0 vf 0 spoofchk off=0D + ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0=0D + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:0= 1.0 -- -i --rxq=3D16 --txq=3D16=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D +=0D +enable vlan header insertion on VF::=0D +=0D + testpmd> port stop 0=0D + Stopping ports...=0D + Checking link statuses...=0D + Done=0D + testpmd> tx_vlan set 0 1=0D + testpmd> port start 0=0D +=0D +tester send pkt to VF::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x0800)/IP(src=3D"196.22= 2.232.221")/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D11,= type=3D0x0800)/IP(src=3D"196.222.232.221")/("X"*480)], iface=3D"ens786f0")= =0D +=0D +check the pkts with vlan header can be received in tester::=0D +=0D + testpmd> port 0/queue 13: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0xcaf4abfd - RSS queue=3D0xd - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0xd=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + port 0/queue 8: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - RSS hash=3D0x28099b78 - RSS queue=3D0x8 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_I= PV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0x8=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + 10:32:55.566801 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype IPv4 = (0x0800), length 514: (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto= Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:32:55.566856 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 1, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D + 06:29:32.281896 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 518: vlan 11, p 0, ethertype IPv4, (tos 0x0, ttl 64, id = 1, offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 06:29:32.281940 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 522: vlan 11, p 0, ethertype 802.1Q, vlan 1, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +disable vlan header insertion on VF1::=0D +=0D + testpmd> port stop 0=0D + Stopping ports...=0D + Checking link statuses...=0D + Done=0D + testpmd> tx_vlan reset 0=0D + testpmd> port start 0=0D +=0D +repeat step 4, check the pkts without vlan tag can be received in tester::= =0D +=0D + testpmd> port 0/queue 9: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0xa63e8869 - RSS queue=3D0x9 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x9=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + port 0/queue 12: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - RSS hash=3D0x6f5533bc - RSS queue=3D0xc - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_I= PV4 - l2_len=3D18 - l3_len=3D20 - Receive queue=3D0xc=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + 10:34:40.070754 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype IPv4 = (0x0800), length 514: (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto= Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:34:40.070824 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype IPv4 = (0x0800), length 514: (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto= Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D + 06:36:57.641871 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 518: vlan 11, p 0, ethertype IPv4, (tos 0x0, ttl 64, id = 1, offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 06:36:57.641909 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 11, p 0, ethertype IPv4, (tos 0x0, ttl 64, id = 1, offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +=0D +Test case: Enable/disable AVF CRC stripping=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +start testpmd with "--disable-crc-strip"::=0D +=0D + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 20-23 -n 4 -a 0000:18= :01.0 -- -i --rxq=3D16 --txq=3D16 --disable-crc-strip=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D +=0D +send pkts to VF::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x0800)/IP(src=3D"196.22= 2.232.221")/("X"*480)], iface=3D"ens786f0")=0D +=0D +check VF1 receive this pkts with CRC::=0D +=0D + testpmd> port 0/queue 0: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0x890d9a70 - RSS queue=3D0x0 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 518=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 514=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D + clear port stats all=0D +=0D +enable crc strip in testpmd::=0D +=0D + testpmd> stop=0D + testpmd> port stop 0=0D + testpmd> port config 0 rx_offload keep_crc off=0D + testpmd> port start 0=0D + testpmd> start=0D +=0D +repeat step 2, check VF receive this pkts without CRC::=0D +=0D + testpmd> port 0/queue 2: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0xa94c21d2 - RSS queue=3D0x2 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x2=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 514=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 514=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D + clear port stats all=0D +=0D +disable crc strip in testpmd::=0D +=0D + testpmd> stop=0D + testpmd> port stop 0=0D + testpmd> port config 0 rx_offload keep_crc on=0D + testpmd> port start 0=0D + testpmd> start=0D +=0D +repeat step 2, check VF1 receive this pkts with CRC::=0D +=0D + testpmd> port 0/queue 0: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0x79c10190 - RSS queue=3D0x0 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x0=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 518=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 514=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D + clear port stats all=0D +=0D +re-launch testpmd without "--disable-crc-strip"::=0D +=0D + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 20-23 -n 4 -a 0000:18= :01.0 -- -i --rxq=3D16 --txq=3D16=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D +=0D +repeat step 2, check VF receive this pkts without CRC::=0D +=0D + testpmd> port 0/queue 2: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x0800 - le= ngth=3D514 - nb_segs=3D1 - RSS hash=3D0x898ada82 - RSS queue=3D0x2 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 = - l2_len=3D14 - l3_len=3D20 - Receive queue=3D0x2=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 514=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 514=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D +=0D +=0D +Test case: IAVF CRC strip and Vlan strip co-exists=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=0D +=0D +start testpmd with crc strip enable, vlan strip disable::=0D +=0D + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 20-23 -n 4 -a 0000:18= :01.0 -- -i --rxq=3D16 --txq=3D16=0D + testpmd> set fwd mac=0D + testpmd> set verbose 1=0D + testpmd> show port info 0=0D + ********************* Infos for port 0 *********************=0D + MAC address: 00:11:22:33:44:11=0D + Device name: 0000:18:01.1=0D + Driver name: net_iavf=0D + ......=0D + VLAN offload:=0D + strip off, filter off, extend off, qinq strip off=0D +=0D +request disable vlan strip::=0D +=0D + testpmd> vlan set strip off 0=0D +=0D +check the vlan strip still disable::=0D +=0D + testpmd> show port info 0=0D + ********************* Infos for port 0 *********************=0D + MAC address: 00:11:22:33:44:11=0D + Device name: 0000:18:01.1=0D + Driver name: net_iavf=0D + ......=0D + VLAN offload:=0D + strip off, filter off, extend off, qinq strip off=0D +=0D +set vlan filter on and add rx_vlan 1::=0D +=0D + testpmd> vlan set filter on 0=0D + testpmd> rx_vlan add 1 0=0D + testpmd> start=0D +=0D +send qinq pkts to check vlan strip is off, crc strip is on::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:11",type=3D0x8100)/Dot1Q(vlan=3D1,t= ype=3D0x8100)/Dot1Q(vlan=3D2,type=3D0x0800)/IP(src=3D"196.222.232.221")/("X= "*480)], iface=3D"ens786f0")=0D +=0D + testpmd> port 0/queue 6: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D522 - nb_segs=3D1 - RSS hash=3D0xf6521426 - RSS queue=3D0x6 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNE= R_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - inner_l3_= len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receive queue=3D0x6=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 522=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 522=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D +=0D + 09:07:45.863251 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 09:07:45.863340 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +request enable vlan strip::=0D +=0D + testpmd> vlan set strip on 0=0D +=0D +check the vlan strip enable successfully::=0D +=0D + testpmd> show port info 0=0D + ********************* Infos for port 0 *********************=0D + MAC address: 00:11:22:33:44:11=0D + Device name: 0000:18:01.1=0D + Driver name: net_iavf=0D + ......=0D + VLAN offload:=0D + strip on, filter off, extend off, qinq strip off=0D +=0D +repeat step 5, send qinq pkts to check vlan strip is on(tx-4), crc strip i= s on::=0D +=0D + testpmd> port 0/queue 6: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - le= ngth=3D518 - nb_segs=3D1 - RSS hash=3D0xf6521426 - RSS queue=3D0x6 - hw pty= pe: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_I= PV4 - l2_len=3D18 - l3_len=3D20 - Tail/CRC: 0x58585858/0x00000000 - Receiv= e queue=3D0x6=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PK= T_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D +=0D + ######################## NIC statistics for port 0 ##################= ######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 522=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 518=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + ######################################################################= ######=0D +=0D + 11:09:03.918907 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1= Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, etherty= pe IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0),= length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 11:09:03.918952 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1= Q (0x8100), length 518: vlan 2, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1= , offset 0, flags [none], proto Options (0), length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +request disable vlan strip::=0D +=0D + testpmd> vlan set strip off 0=0D +=0D +check the vlan strip disable successfully::=0D +=0D + testpmd> show port info 0=0D + ********************* Infos for port 0 *********************=0D + MAC address: 00:11:22:33:44:11=0D + Device name: 0000:18:01.1=0D + Driver name: net_iavf=0D + ......=0D + VLAN offload:=0D + strip off, filter on, extend off, qinq strip off=0D +=0D +request disable crc strip::=0D +=0D + testpmd> stop=0D + testpmd> port stop 0=0D + testpmd> port config 0 rx_offload keep_crc on=0D + testpmd> port start 0=0D + testpmd> start=0D +=0D +repeat step 5, send qinq pkts to check vlan strip is off, crc strip is off= (rx+4)::=0D +=0D + testpmd> port 0/queue 7: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - l= ength=3D522 - nb_segs=3D1 - RSS hash=3D0xbc8b1857 - RSS queue=3D0x7 - hw pt= ype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INN= ER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - inner_l3= _len=3D20 - Tail/CRC: 0x58585858/0x6d870bf6 - Receive queue=3D0x7=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD P= KT_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D + ######################## NIC statistics for port 0 #################= #######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 526=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 522=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + #####################################################################= #######=0D +=0D + 10:23:57.350934 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:23:57.351008 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +request enable vlan strip::=0D +=0D + testpmd> vlan set strip on 0=0D + iavf_execute_vf_cmd(): No response or return failure (-64) for cmd 54= =0D + iavf_config_vlan_strip_v2(): fail to execute command VIRTCHNL_OP_ENAB= LE_VLAN_STRIPPING_V2=0D + rx_vlan_strip_set(port_pi=3D0, on=3D1) failed diag=3D-5=0D +=0D +repeat step 5, send qinq pkts to check the vlan strip can not enable::=0D +=0D + testpmd> port 0/queue 7: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - l= ength=3D518 - nb_segs=3D1 - RSS hash=3D0xbc8b1857 - RSS queue=3D0x7 - hw pt= ype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_= IPV4 - l2_len=3D18 - l3_len=3D20 - Tail/CRC: 0x58585858/0x6d870bf6 - Recei= ve queue=3D0x7=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD P= KT_RX_OUTER_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D + ######################## NIC statistics for port 0 #################= #######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 526=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 522=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + #####################################################################= #######=0D +=0D + 10:26:08.346936 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:26:08.347006 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +request disable vlan strip::=0D +=0D + vlan set strip off 0=0D +=0D +check the vlan strip still disable::=0D +=0D + testpmd> show port info 0=0D + ********************* Infos for port 0 *********************=0D + MAC address: 00:11:22:33:44:11=0D + Device name: 0000:18:01.1=0D + Driver name: net_iavf=0D + ......=0D + VLAN offload:=0D + strip off, filter on, extend off, qinq strip off=0D +=0D +request enable crc strip::=0D +=0D + testpmd> stop=0D + testpmd> port stop 0=0D + testpmd> port config 0 rx_offload keep_crc off=0D + testpmd> port start 0=0D + testpmd> start=0D +=0D +repeat step 5, send qinq pkts to check the crc strip enable successfully::= =0D +=0D + testpmd> port 0/queue 3: received 1 packets=0D + src=3D00:00:00:00:00:00 - dst=3D00:11:22:33:44:11 - type=3D0x8100 - l= ength=3D522 - nb_segs=3D1 - RSS hash=3D0x2b4ad203 - RSS queue=3D0x3 - hw pt= ype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INN= ER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=3D18 - inner_l2_len=3D4 - inner_l3= _len=3D20 - Receive queue=3D0x3=0D + ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD P= KT_RX_OUTER_L4_CKSUM_UNKNOWN=0D + port 0/queue 3: sent 1 packets=0D + src=3D00:11:22:33:44:11 - dst=3D02:00:00:00:00:00 - type=3D0x8100 - l= ength=3D522 - nb_segs=3D1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFR= AG - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len= =3D18 - inner_l2_len=3D4 - inner_l3_len=3D20 - Send queue=3D0x3=0D + ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN PKT_RX_OUTE= R_L4_CKSUM_UNKNOWN=0D +=0D + show port stats all=0D + ######################## NIC statistics for port 0 #################= #######=0D + RX-packets: 1 RX-missed: 0 RX-bytes: 522=0D + RX-errors: 0=0D + RX-nombuf: 0=0D + TX-packets: 1 TX-errors: 0 TX-bytes: 522=0D +=0D + Throughput (since last show)=0D + Rx-pps: 0 Rx-bps: 0=0D + Tx-pps: 0 Tx-bps: 0=0D + #####################################################################= #######=0D +=0D + 10:29:19.995352 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D + 10:29:19.995424 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.= 1Q (0x8100), length 522: vlan 1, p 0, ethertype 802.1Q, vlan 2, p 0, ethert= ype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0)= , length 500)=0D + 196.222.232.221 > 127.0.0.1: ip-proto-0 480=0D +=0D +Test Case: vf queue start/stop=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=0D +=0D +This case support VF (Intel=C2=AE Ethernet 700 Series/Intel=C2=AE Ethernet= 800 Series)=0D +=0D +Launch testpmd::=0D +=0D + x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 -a 0000:af:01= .0 -- -i --portmask=3D0x1 --port-topology=3Dloop=0D +=0D +Run "set verbose 1" to set verbose=0D +=0D +Run "set fwd mac" to set fwd type=0D +=0D +Run "start" to start fwd package=0D +=0D +Start a packet capture on the tester in the background::=0D +=0D + tcpdump -i ens7 'ether[12:2] !=3D 0x88cc' -Q in -w /tmp/tester/sniff= _ens7.pcap=0D +=0D +Start packet generator to transmit packets::=0D +=0D + sendp([Ether(dst=3D'3c:fd:fe:c1:0f:4c', src=3D'00:00:20:00:00:00')/IP(= )/UDP()/Raw(load=3Db'XXXXXXXXXXXXXXXXXX')],iface=3D"ens7",count=3D4,inter= =3D0,verbose=3DFalse)=0D +=0D +Stop testpmd::=0D +=0D + ---------------------- Forward statistics for port 0 ------------------= ----=0D + RX-packets: 4 RX-dropped: 0 RX-total: 4=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ------------------------------------------------------------------------= ----=0D +=0D + ---------------------- Forward statistics for port 1 ------------------= ----=0D + RX-packets: 0 RX-dropped: 0 RX-total: 0=0D + TX-packets: 4 TX-dropped: 0 TX-total: 4=0D + ------------------------------------------------------------------------= ----=0D +=0D +=0D +Quit tcpdump and check tester port receive 4 packets=0D +=0D +Run "port 0 rxq 0 stop" to stop rxq 0 in port 0=0D +=0D +Start packet generator to transmit and check tester port not receive packe= ts=0D +=0D +Run "port 0 rxq 0 start" to start rxq 0 in port 0=0D +=0D +Run "port 0 txq 0 stop" to stop txq 0 in port 0=0D +=0D +Start packet generator to transmit and check tester port not receive packe= ts and in testpmd it not has "port 0/queue=0D +0: received 1 packets" print=0D +=0D +Stop testpmd::=0D +=0D + ---------------------- Forward statistics for port 0 ------------------= ----=0D + RX-packets: 4 RX-dropped: 0 RX-total: 4=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ------------------------------------------------------------------------= ----=0D +=0D + ---------------------- Forward statistics for port 1 ------------------= ----=0D + RX-packets: 0 RX-dropped: 0 RX-total: 0=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ------------------------------------------------------------------------= ----=0D +=0D +Run "port 0 txq 0 start" to start txq 0 in port 0=0D +=0D +Start packet generator to transmit and check tester port receive 4 packets= and in testpmd it has "port 0/queue 0:=0D +received 1 packets" print=0D +=0D +Stop testpmd::=0D +=0D + ---------------------- Forward statistics for port 0 ------------------= ----=0D + RX-packets: 4 RX-dropped: 0 RX-total: 4=0D + TX-packets: 0 TX-dropped: 0 TX-total: 0=0D + ------------------------------------------------------------------------= ----=0D +=0D + ---------------------- Forward statistics for port 1 ------------------= ----=0D + RX-packets: 0 RX-dropped: 0 RX-total: 0=0D + TX-packets: 4 TX-dropped: 0 TX-total: 4=0D + ------------------------------------------------------------------------= ----=0D +=0D --=20 2.25.1