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 8A2D8A0558; Thu, 26 May 2022 15:12:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7FEB742B93; Thu, 26 May 2022 15:12:02 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by mails.dpdk.org (Postfix) with ESMTP id DEF6140150 for ; Thu, 26 May 2022 15:12:01 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 4FB9D1FF572; Thu, 26 May 2022 15:12:01 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ic5wxi_iufkI; Thu, 26 May 2022 15:11:42 +0200 (CEST) Received: from entguard.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id DBE5121C5D1; Thu, 26 May 2022 15:11:36 +0200 (CEST) From: =?UTF-8?q?Juraj=20Linke=C5=A1?= To: Honnappa.Nagarahalli@arm.com, juraj.linkes@pantheon.tech, lijuan.tu@intel.com, ohilyard@iol.unh.edu Cc: dts@dpdk.org Subject: [PATCH v2 3/5] rename base classes 3 Date: Thu, 26 May 2022 13:11:33 +0000 Message-Id: <20220526131135.1643352-4-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220526131135.1643352-1-juraj.linkes@pantheon.tech> References: <20220526131135.1643352-1-juraj.linkes@pantheon.tech> 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org first part of test_plans/* Signed-off-by: Juraj Linkeš --- test_plans/NICStatistics_test_plan.rst | 2 +- test_plans/af_xdp_2_test_plan.rst | 12 +- test_plans/basic_4k_pages_cbdma_test_plan.rst | 20 +- test_plans/basic_4k_pages_dsa_test_plan.rst | 62 +- test_plans/checksum_offload_test_plan.rst | 8 +- test_plans/dcf_lifecycle_test_plan.rst | 276 ++--- test_plans/dpdk_gro_lib_cbdma_test_plan.rst | 2 +- .../dpdk_hugetlbfs_mount_size_test_plan.rst | 12 +- test_plans/efd_test_plan.rst | 10 +- ...ckage_download_in_ice_driver_test_plan.rst | 16 +- test_plans/ethtool_stats_test_plan.rst | 4 +- test_plans/eventdev_perf_test_plan.rst | 2 +- .../eventdev_pipeline_perf_test_plan.rst | 2 +- .../external_mempool_handler_test_plan.rst | 10 +- test_plans/flexible_rxd_test_plan.rst | 4 +- test_plans/floating_veb_test_plan.rst | 26 +- .../flow_classify_softnic_test_plan.rst | 22 +- test_plans/flow_classify_test_plan.rst | 18 +- test_plans/flow_filtering_test_plan.rst | 14 +- test_plans/generic_flow_api_test_plan.rst | 42 +- .../iavf_flexible_descriptor_test_plan.rst | 2 +- ..._package_driver_error_handle_test_plan.rst | 16 +- test_plans/iavf_test_plan.rst | 4 +- test_plans/ice_1pps_signal_test_plan.rst | 10 +- ...ce_advanced_iavf_rss_gtpogre_test_plan.rst | 4 +- .../ice_advanced_iavf_rss_gtpu_test_plan.rst | 172 +-- ...vanced_iavf_rss_pppol2tpoudp_test_plan.rst | 6 +- .../ice_advanced_iavf_rss_test_plan.rst | 10 +- ...vf_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst | 8 +- .../ice_advanced_rss_gtpogre_test_plan.rst | 6 +- .../ice_advanced_rss_gtpu_test_plan.rst | 28 +- .../ice_advanced_rss_pppoe_test_plan.rst | 4 +- test_plans/ice_advanced_rss_test_plan.rst | 10 +- ...ed_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst | 4 +- test_plans/ice_dcf_acl_filter_test_plan.rst | 14 +- test_plans/ice_dcf_date_path_test_plan.rst | 12 +- .../ice_dcf_flow_priority_test_plan.rst | 2 +- test_plans/ice_dcf_qos_test_plan.rst | 390 +++---- .../ice_dcf_switch_filter_gtpu_test_plan.rst | 2 +- .../ice_dcf_switch_filter_pppoe_test_plan.rst | 4 +- .../ice_dcf_switch_filter_test_plan.rst | 20 +- test_plans/ice_flow_priority_test_plan.rst | 229 ++-- .../ice_iavf_fdir_gtpogre_test_plan.rst | 4 +- .../ice_iavf_fdir_pppol2tpoudp_test_plan.rst | 978 +++++++++--------- test_plans/ice_iavf_fdir_test_plan.rst | 78 +- ...ce_iavf_ip_fragment_rte_flow_test_plan.rst | 16 +- .../ice_iavf_rss_configure_test_plan.rst | 2 +- .../ice_ip_fragment_rte_flow_test_plan.rst | 16 +- test_plans/ice_limit_value_test_test_plan.rst | 6 +- test_plans/ice_qinq_test_plan.rst | 234 ++--- 50 files changed, 1426 insertions(+), 1429 deletions(-) diff --git a/test_plans/NICStatistics_test_plan.rst b/test_plans/NICStatistics_test_plan.rst index 3ed6a917..9474b20b 100644 --- a/test_plans/NICStatistics_test_plan.rst +++ b/test_plans/NICStatistics_test_plan.rst @@ -26,7 +26,7 @@ The core configuration description is: Prerequisites ============= -Each of the 10Gb Ethernet* ports of the DUT is directly connected in +Each of the 10Gb Ethernet* ports of the SUT is directly connected in full-duplex to a different port of the peer traffic generator. Using interactive commands, the traffic generator can be configured to diff --git a/test_plans/af_xdp_2_test_plan.rst b/test_plans/af_xdp_2_test_plan.rst index 457cc55d..3cea7ad0 100644 --- a/test_plans/af_xdp_2_test_plan.rst +++ b/test_plans/af_xdp_2_test_plan.rst @@ -49,7 +49,7 @@ Prerequisites 6. Involve lib:: - export LD_LIBRARY_PATH=/home/linux/tools/lib/bpf:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=/home/linux/tools/lib/bpf:$LD_LIBRARY_PATH Test case 1: single port test with PMD core and IRQ core are pinned to separate cores ===================================================================================== @@ -64,7 +64,7 @@ Test case 1: single port test with PMD core and IRQ core are pinned to separate ./set_irq_affinity 3 enp26s0f1 #PMD and IRQs pinned to seperate cores ./set_irq_affinity 2 enp26s0f1 #PMD and IRQs pinned to same cores -3. Send packets by packet generator with different packet size, from 64 bytes to 1518 bytes, check the throughput. +3. Send packets by traffic generator with different packet size, from 64 bytes to 1518 bytes, check the throughput. Test case 2: two ports test with PMD cores and IRQ cores are pinned to separate cores ===================================================================================== @@ -82,7 +82,7 @@ Test case 2: two ports test with PMD cores and IRQ cores are pinned to separate ./set_irq_affinity 4 enp26s0f0 ./set_irq_affinity 5 enp26s0f1 -3. Send packets by packet generator to port0 and port1 with different packet size, from 64 bytes to 1518 bytes, check the throughput at port0 and port1. +3. Send packets by traffic generator to port0 and port1 with different packet size, from 64 bytes to 1518 bytes, check the throughput at port0 and port1. Test case 3: multi-queue test with PMD cores and IRQ cores are pinned to separate cores ======================================================================================= @@ -101,7 +101,7 @@ Test case 3: multi-queue test with PMD cores and IRQ cores are pinned to separat ./set_irq_affinity 4-5 enp26s0f1 -4. Send packets with different dst IP address by packet generator with different packet size from 64 bytes to 1518 bytes, check the throughput and ensure the packets were distributed to the two queues. +4. Send packets with different dst IP address by traffic generator with different packet size from 64 bytes to 1518 bytes, check the throughput and ensure the packets were distributed to the two queues. Test case 4: two ports test with PMD cores and IRQ cores pinned to same cores ============================================================================= @@ -119,7 +119,7 @@ Test case 4: two ports test with PMD cores and IRQ cores pinned to same cores ./set_irq_affinity 30 enp26s0f0 ./set_irq_affinity 31 enp26s0f1 -3. Send packets by packet generator to port0 and port1 with different packet size, from 64 bytes to 1518 bytes, check the throughput at port0 and port1. +3. Send packets by traffic generator to port0 and port1 with different packet size, from 64 bytes to 1518 bytes, check the throughput at port0 and port1. Test case 5: multi-queue test with PMD cores and IRQ cores pinned to same cores =============================================================================== @@ -138,7 +138,7 @@ Test case 5: multi-queue test with PMD cores and IRQ cores pinned to same cores ./set_irq_affinity 30-31 enp26s0f1 -4. Send packets with different dst IP address by packet generator with different packet size from 64 bytes to 1518 bytes, check the throughput and ensure packets were distributed to the two queues. +4. Send packets with different dst IP address by traffic generator with different packet size from 64 bytes to 1518 bytes, check the throughput and ensure packets were distributed to the two queues. Test case 6: one port with two vdev and single queue test ========================================================= diff --git a/test_plans/basic_4k_pages_cbdma_test_plan.rst b/test_plans/basic_4k_pages_cbdma_test_plan.rst index 5bbd19b4..a00f8ff2 100644 --- a/test_plans/basic_4k_pages_cbdma_test_plan.rst +++ b/test_plans/basic_4k_pages_cbdma_test_plan.rst @@ -5,11 +5,11 @@ Basic test with CBDMA in 4K-pages test plan =========================================== -DPDK 19.02 add support for using virtio-user without hugepages. The --no-huge mode was augmented to use memfd-backed memory +DPDK 19.02 add support for using virtio-user without hugepages. The --no-huge mode was augmented to use memfd-backed memory (on systems that support memfd), to allow using virtio-user-based NICs without hugepages. Vhost asynchronous data path leverages DMA devices to offload memory copies from the CPU and it is implemented in an asynchronous way. -In addition, vhost supports M:N mapping between vrings and DMA virtual channels. Specifically, one vring can use multiple different DMA +In addition, vhost supports M:N mapping between vrings and DMA virtual channels. Specifically, one vring can use multiple different DMA channels and one DMA channel can be shared by multiple vrings at the same time. Vhost enqueue operation with CBDMA channels is supported in both split and packed ring. @@ -17,7 +17,7 @@ This document provides the test plan for testing some basic functions with CBDMA 1. Test split and packed ring virtio path in the PVP topology environmet. 2. Check Vhost tx offload function by verifing the TSO/cksum in the TCP/IP stack with vm2vm split ring and packed ring vhost-user/virtio-net mergeable path. -3.Check the payload of large packet (larger than 1MB) is valid after forwarding packets with vm2vm split ring and packed ring +3.Check the payload of large packet (larger than 1MB) is valid after forwarding packets with vm2vm split ring and packed ring vhost-user/virtio-net mergeable path. 4. Vhost-user using 1G hugepges and virtio-user using 4k-pages. @@ -42,7 +42,7 @@ Trex:http://trex-tgn.cisco.com/trex/release/v2.26.tar.gz General set up -------------- 1. Turn off transparent hugepage in grub by adding GRUB_CMDLINE_LINUX="transparent_hugepage=never". - + 2. Compile DPDK:: # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library= @@ -51,7 +51,7 @@ General set up CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -3. Get the PCI device ID and DMA device ID of DUT, for example, 0000:18:00.0 is PCI device ID, 0000:00:04.0, 0000:00:04.1 is DMA device ID:: +3. Get the PCI device ID and DMA device ID of SUT, for example, 0000:18:00.0 is PCI device ID, 0000:00:04.0, 0000:00:04.1 is DMA device ID:: # ./usertools/dpdk-devbind.py -s @@ -78,8 +78,8 @@ Common steps ------------ 1. Bind 1 NIC port and CBDMA channels to vfio-pci:: - # ./usertools/dpdk-devbind.py -b vfio-pci - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci For example, bind 1 NIC port and 1 CBDMA channels: # ./usertools/dpdk-devbind.py -b vfio-pci 0000:af:00.0,0000:80:04.0 @@ -104,7 +104,7 @@ in 4k-pages environment. And the mapping between vrings and dsa virtual channels testpmd> set fwd mac testpmd> start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd> show port stats all @@ -129,7 +129,7 @@ in 4k-pages environment. And the mapping between vrings and dsa virtual channels testpmd> set fwd mac testpmd> start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd> show port stats all @@ -327,7 +327,7 @@ The dynamic change of multi-queues number also test. Test Case 5: vm2vm vhost/virtio-net split packed ring multi queues with 1G/4k-pages and cbdma enable ---------------------------------------------------------------------------------------------------- -This case uses iperf and scp to test the payload of large packet (larger than 1MB) is valid after packets forwarding in +This case uses iperf and scp to test the payload of large packet (larger than 1MB) is valid after packets forwarding in vm2vm vhost-user/virtio-net multi-queues mergeable path when vhost uses the asynchronous enqueue operations with CBDMA channels. And one virtio-net is split ring, the other is packed ring. The vhost run in 1G hugepages and the virtio-user run in 4k-pages environment. diff --git a/test_plans/basic_4k_pages_dsa_test_plan.rst b/test_plans/basic_4k_pages_dsa_test_plan.rst index 9c85f8ef..e95bfe55 100644 --- a/test_plans/basic_4k_pages_dsa_test_plan.rst +++ b/test_plans/basic_4k_pages_dsa_test_plan.rst @@ -16,7 +16,7 @@ in both split and packed ring. This document provides the test plan for testing some basic functions when Vhost-user using asynchronous data path with DSA driver (kernel IDXD driver and DPDK vfio-pci driver) and using 4K-pages memory environment. 1. test Vhost asynchronous data path with DSA driver in the PVP topology environment with testpmd. -2. check Vhost tx offload function by verifing the TSO/cksum in the TCP/IP stack with vm2vm split ring and packed ring +2. check Vhost tx offload function by verifing the TSO/cksum in the TCP/IP stack with vm2vm split ring and packed ring vhost-user/virtio-net mergeable path. 3.Check the payload of large packet (larger than 1MB) is valid after forwarding packets with vm2vm split ring and packed ring vhost-user/virtio-net mergeable and non-mergeable path. @@ -46,7 +46,7 @@ General set up CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -3. Get the PCI device ID and DSA device ID of DUT, for example, 0000:4f:00.1 is PCI device ID, 0000:6a:01.0 - 0000:f6:01.0 are DSA device IDs:: +3. Get the PCI device ID and DSA device ID of SUT, for example, 0000:4f:00.1 is PCI device ID, 0000:6a:01.0 - 0000:f6:01.0 are DSA device IDs:: # ./usertools/dpdk-devbind.py -s @@ -79,13 +79,13 @@ Common steps ------------ 1. Bind 1 NIC port to vfio-pci:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci For example: # ./usertools/dpdk-devbind.py -b vfio-pci 0000:00:4f.1 2.Bind DSA devices to DPDK vfio-pci driver:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci For example, bind 2 DMA devices to vfio-pci driver: # ./usertools/dpdk-devbind.py -b vfio-pci 0000:e7:01.0 0000:ec:01.0 @@ -118,7 +118,7 @@ Common steps Test Case 1: Basic test vhost/virtio-user split ring with 4K-pages and dsa dpdk driver ---------------------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test split ring when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test split ring when vhost uses the asynchronous enqueue operations with dsa dpdk driver and the mapping between vrings and dsa virtual channels is 1:1 in 4k-pages environment. 1. Bind one dsa device(6a:01.0) and one nic port(4f:00.1) to vfio-pci like common step 1-2. @@ -137,13 +137,13 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v testpmd>set fwd mac testpmd>start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd>show port stats all Test Case 2: Basic test vhost/virtio-user packed ring with 4K-pages and dsa dpdk driver ---------------------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring when vhost uses the asynchronous enqueue operations with dsa dpdk driver and the mapping between vrings and dsa virtual channels is 1:1 in 4k-pages environment. 1. Bind one dsa device(6a:01.0) and one nic port(4f:00.1) to vfio-pci like common step 1-2. @@ -162,19 +162,19 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v testpmd>set fwd mac testpmd>start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd>show port stats all Test Case 3: PVP split ring multi-queues with 4K-pages and dsa dpdk driver ----------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test split ring multi-queues when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test split ring multi-queues when vhost uses the asynchronous enqueue operations with dsa dpdk driver and the mapping between vrings and dsa virtual channels is M:N in 4k-pages environment. 1. Bind 8 dsa device and one nic port to vfio-pci like common step 1-2:: # ./usertools/dpdk-devbind.py -b vfio-pci 4f:00.1 - # ./usertools/dpdk-devbind.py -b vfio-pci 6a:01.0 6f:01.0 74:01.0 79:01.0 e7:01.0 ec:01.0 f1:01.0 f6:01.0 + # ./usertools/dpdk-devbind.py -b vfio-pci 6a:01.0 6f:01.0 74:01.0 79:01.0 e7:01.0 ec:01.0 f1:01.0 f6:01.0 2. Launch vhost by below command:: @@ -193,7 +193,7 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v testpmd>set fwd mac testpmd>start -4. Send imix packets [64,1518] from packet generator, check the throughput can get expected data:: +4. Send imix packets [64,1518] from traffic generator, check the throughput can get expected data:: testpmd>show port stats all @@ -219,13 +219,13 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v Test Case 4: PVP packed ring multi-queues with 4K-pages and dsa dpdk driver ------------------------------------------------------------------------------ -This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring multi-queues when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring multi-queues when vhost uses the asynchronous enqueue operations with dsa dpdk driver and the mapping between vrings and dsa virtual channels is M:N in 4k-pages environment. 1. Bind 8 dsa device and one nic port to vfio-pci like common step 1-2:: # ./usertools/dpdk-devbind.py -b vfio-pci 4f:00.1 - # ./usertools/dpdk-devbind.py -b vfio-pci 6a:01.0 6f:01.0 74:01.0 79:01.0 e7:01.0 ec:01.0 f1:01.0 f6:01.0 + # ./usertools/dpdk-devbind.py -b vfio-pci 6a:01.0 6f:01.0 74:01.0 79:01.0 e7:01.0 ec:01.0 f1:01.0 f6:01.0 2. Launch vhost by below command:: @@ -244,7 +244,7 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v testpmd>set fwd mac testpmd>start -4. Send imix packets [64,1518] from packet generator, check the throughput can get expected data:: +4. Send imix packets [64,1518] from traffic generator, check the throughput can get expected data:: testpmd>show port stats all @@ -270,8 +270,8 @@ enqueue operations with dsa dpdk driver and the mapping between vrings and dsa v Test Case 5: VM2VM split ring vhost-user/virtio-net 4K-pages and dsa dpdk driver test with tcp traffic -------------------------------------------------------------------------------------------------------- -This case test the function of Vhost tx offload in the topology of vhost-user/virtio-net split ring mergeable path -by verifing the TSO/cksum in the TCP/IP stack when vhost uses the asynchronous enqueue operations with dsa dpdk driver +This case test the function of Vhost tx offload in the topology of vhost-user/virtio-net split ring mergeable path +by verifing the TSO/cksum in the TCP/IP stack when vhost uses the asynchronous enqueue operations with dsa dpdk driver in 4k-pages environment. 1. Bind 1 dsa device to vfio-pci like common step 2:: @@ -331,14 +331,14 @@ in 4k-pages environment. Test Case 6: VM2VM packed ring vhost-user/virtio-net 4K-pages and dsa dpdk driver test with tcp traffic --------------------------------------------------------------------------------------------------------- -This case test the function of Vhost tx offload in the topology of vhost-user/virtio-net packed ring mergeable path -by verifing the TSO/cksum in the TCP/IP stack when vhost uses the asynchronous enqueue operations with dsa dpdk driver +This case test the function of Vhost tx offload in the topology of vhost-user/virtio-net packed ring mergeable path +by verifing the TSO/cksum in the TCP/IP stack when vhost uses the asynchronous enqueue operations with dsa dpdk driver in 4k-pages environment. 1. Bind 1 dsa device to vfio-pci like common step 2:: # ./usertools/dpdk-devbind.py -b vfio-pci 6a:01.0 - + 2. Launch vhost by below command:: # ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-4 -n 4 --no-huge -m 1024 --file-prefix=vhost -a 0000:6a:01.0 \ @@ -392,7 +392,7 @@ in 4k-pages environment. Test Case 7: vm2vm vhost/virtio-net split packed ring multi queues with 1G/4k-pages and dsa dpdk driver --------------------------------------------------------------------------------------------------------- -This case uses iperf and scp to test the payload of large packet (larger than 1MB) is valid after packets forwarding in +This case uses iperf and scp to test the payload of large packet (larger than 1MB) is valid after packets forwarding in vm2vm vhost-user/virtio-net multi-queues mergeable path when vhost uses the asynchronous enqueue operations with dsa dpdk driver. And one virtio-net is split ring, the other is packed ring. The vhost run in 1G hugepages and the virtio-user run in 4k-pages environment. @@ -456,7 +456,7 @@ And one virtio-net is split ring, the other is packed ring. The vhost run in 1G Test Case 8: Basic test vhost/virtio-user split ring with 4K-pages and dsa kernel driver ---------------------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test split ring when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test split ring when vhost uses the asynchronous enqueue operations with dsa kernel driver and the mapping between vrings and dsa virtual channels is 1:1 in 4k-pages environment. 1. Bind one nic port to vfio-pci and one dsa device to idxd like common step 1 and 3:: @@ -483,13 +483,13 @@ enqueue operations with dsa kernel driver and the mapping between vrings and dsa --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/vhost-net,queues=1 -- -i testpmd>start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd>show port stats all Test Case 9: Basic test vhost/virtio-user packed ring with 4K-pages and dsa dpdk driver ---------------------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test packed ring when vhost uses the asynchronous enqueue operations with dsa kernel driver and the mapping between vrings and dsa virtual channels is 1:1 in 4k-pages environment. 1. Bind one nic port to vfio-pci and one dsa device to idxd like common step 1 and 3:: @@ -516,13 +516,13 @@ enqueue operations with dsa kernel driver and the mapping between vrings and dsa --vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=/tmp/vhost-net,packed_vq=1,queues=1 -- -i testpmd>start -4. Send packet with packet generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: +4. Send packet with traffic generator with different packet size,includes [64, 128, 256, 512, 1024, 1518], check the throughput with below command:: testpmd>show port stats all Test Case 10: PVP split ring multi-queues with 4K-pages and dsa kernel driver -------------------------------------------------------------------------------- -This case uses testpmd and Traffic Generator(For example, Trex) to test split ring multi-queues when vhost uses the asynchronous +This case uses testpmd and Traffic Generator(For example, Trex) to test split ring multi-queues when vhost uses the asynchronous enqueue operations with dsa kernel driver and the mapping between vrings and dsa virtual channels is M:N in 4k-pages environment. 1. Bind one nic port to vfio-pci and 8 dsa device to idxd like common step 1 and 3:: @@ -559,7 +559,7 @@ enqueue operations with dsa kernel driver and the mapping between vrings and dsa testpmd>set fwd mac testpmd>start -4. Send imix packets [64,1518] from packet generator, check the throughput can get expected data:: +4. Send imix packets [64,1518] from traffic generator, check the throughput can get expected data:: testpmd>show port stats all @@ -622,7 +622,7 @@ enqueue operations with dsa kernel driver and the mapping between vrings and dsa testpmd>set fwd mac testpmd>start -4. Send imix packets [64,1518] from packet generator, check the throughput can get expected data:: +4. Send imix packets [64,1518] from traffic generator, check the throughput can get expected data:: testpmd>show port stats all @@ -884,7 +884,7 @@ with dsa dpdk and kernel driver and if the vhost-user can work well when the que testpmd>set fwd mac testpmd>start -4. Send imix packets from packet generator with random ip, check perforamnce can get target. +4. Send imix packets from traffic generator with random ip, check perforamnce can get target. 5. Stop vhost port, check vhost RX and TX direction both exist packtes in 2 queues from vhost log. @@ -896,7 +896,7 @@ with dsa dpdk and kernel driver and if the vhost-user can work well when the que testpmd>set fwd mac testpmd>start -7. Send imix packets from packet generator with random ip, check perforamnce can get target. +7. Send imix packets from traffic generator with random ip, check perforamnce can get target. 8. Stop vhost port, check vhost RX and TX direction both exist packtes in 4 queues from vhost log. @@ -908,7 +908,7 @@ with dsa dpdk and kernel driver and if the vhost-user can work well when the que testpmd>set fwd mac testpmd>start -10. Send imix packets from packet generator with random ip, check perforamnce can get target. +10. Send imix packets from traffic generator with random ip, check perforamnce can get target. 11. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log. @@ -920,7 +920,7 @@ with dsa dpdk and kernel driver and if the vhost-user can work well when the que testpmd>set fwd mac testpmd>start -13. Send imix packets from packet generator with random ip, check perforamnce can get target. +13. Send imix packets from traffic generator with random ip, check perforamnce can get target. 14. Stop vhost port, check vhost RX and TX direction both exist packtes in 8 queues from vhost log. diff --git a/test_plans/checksum_offload_test_plan.rst b/test_plans/checksum_offload_test_plan.rst index 45f081b0..339399c5 100644 --- a/test_plans/checksum_offload_test_plan.rst +++ b/test_plans/checksum_offload_test_plan.rst @@ -289,9 +289,9 @@ Start the packet forwarding:: TX threshold registers: pthresh=32 hthresh=8 wthresh=8 -Start a packet capture on the tester in the background:: +Start a packet capture on the TG in the background:: - # tcpdump -i -s 65535 -w /tmp/tester/test_hardware_checksum_check_l4_tx_capture.pcap & + # tcpdump -i -s 65535 -w /tmp/tg/test_hardware_checksum_check_l4_tx_capture.pcap & Send a packet with a good checksum:: @@ -329,9 +329,9 @@ Start the packet forwarding:: TX threshold registers: pthresh=32 hthresh=8 wthresh=8 -Start a packet capture on the tester in the background:: +Start a packet capture on the TG in the background:: - # tcpdump -i -s 65535 -w /tmp/tester/test_hardware_checksum_check_l3_tx_capture.pcap & + # tcpdump -i -s 65535 -w /tmp/tg/test_hardware_checksum_check_l3_tx_capture.pcap & Send a packet with a good checksum with a 1 in it's payload:: diff --git a/test_plans/dcf_lifecycle_test_plan.rst b/test_plans/dcf_lifecycle_test_plan.rst index 4236fae5..2ba9879c 100644 --- a/test_plans/dcf_lifecycle_test_plan.rst +++ b/test_plans/dcf_lifecycle_test_plan.rst @@ -24,14 +24,14 @@ Configuration ============= NIC: 2x25G or 2x100G, several TC need breakout mode. -NIC should have 2 PF ports at least, and connect to tester's ports. +NIC should have 2 PF ports at least, and connect to TG's ports. Topology +-------+ +--------+ | | | | | p1|<----->| | - | DUT | | Tester | + | SUT | | TG | | p2|<----->| | | | | | +-------+ +--------+ @@ -194,7 +194,7 @@ Set switch rule to VF1 `0000:18:01.1` from DCF :: Send a scapy packet to VF1 :: p = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.2', dst='192.168.0.3')/Raw(64*'x') - sendp(p, iface='testeri0', count=1) + sendp(p, iface='TGi0', count=1) Check VF1 received the packet. Stats shows 1 packet received and forwarded. :: @@ -246,7 +246,7 @@ Set switch rule to VF1 0000:18:01.1 from DCF :: Send a scapy packet to VF1 :: p = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.2', dst='192.168.0.3')/Raw(64*'x') - sendp(p, iface='testeri0', count=1) + sendp(p, iface='TGi0', count=1) Check VF1 received the packet. Stats shows 1 packet received and forwarded :: @@ -295,7 +295,7 @@ Set switch rule to VF1 0000:18:01.1 from DCF :: Send a scapy packet to VF1 :: p = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.2', dst='192.168.0.3')/Raw(64*'x') - sendp(p, iface='testeri0', count=1) + sendp(p, iface='TGi0', count=1) Check VF1 received the packet. Stats shows 1 packet received and forwarded :: @@ -377,12 +377,12 @@ Set switch rule to VF1 0000:18:01.1 from DCF :: Send a scapy packet to VF1 :: p = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.2', dst='192.168.0.3')/Raw(64*'x') - sendp(p, iface='testeri0', count=1) + sendp(p, iface='TGi0', count=1) Send a scapy packet to VF2 :: p = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.4', dst='192.168.0.5')/Raw(64*'x') - sendp(p, iface='testeri0', count=1) + sendp(p, iface='TGi0', count=1) Check VF1 received the packet. Stats shows 1 packet received and forwarded :: @@ -439,7 +439,7 @@ Set switch rule to VF1 0000:18:01.1 and VF2 0000:18:01.2 from DCF :: Send a scapy packet to VF1 and VF2 :: p1 = Ether(dst='xx:xx:xx:xx:xx:xx')/IP(src='192.168.0.2', dst='192.168.0.3')/Raw(64*'x') - sendp(p1, iface='testeri0', count=1) + sendp(p1, iface='TGi0', count=1) Check if VF1 and VF2 received the packet. Stats shows 1 packet received and forwarded on each VF :: @@ -742,7 +742,7 @@ If turn trust mode off, when DCF launched. The DCF rules should be removed. 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1:: @@ -780,7 +780,7 @@ If kill DCF process, when DCF launched. The DCF rules should be removed. 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1. @@ -811,7 +811,7 @@ Kill DCF process, then fail to launch avf on the previous DCF VF. 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1. @@ -846,7 +846,7 @@ TC28: DCF graceful exit 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1. @@ -867,7 +867,7 @@ TC29: DCF enabled, AVF VF reset 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1. @@ -908,7 +908,7 @@ TC30: DCF enabled, DCF VF reset 2. send packet with dst mac of VF1:: - sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="testeri0") + sendp([Ether(src="00:11:22:33:44:55", dst="5E:8E:8B:4D:89:05")/IP()/TCP(sport=8012)/Raw(load='X'*30)], iface="TGi0") check the packet is dropped by VF1. @@ -1048,9 +1048,9 @@ ICE DCF enable device reset API Description =========== -DCF PMD need to support rte_eth_dev_reset.The reason is that when a DCF instance be killed, all the flow rules still exist in hardware. when DCF gets to reconnect, -It has already lost the flow context, and if the application wants to create new rules, they may fail because FW reports that the rules already exist.The current -workaround assumes that the user can turn off / turn on VF trust mode, so kernel PF will reset DCF by removing all old rules.The rte_eth_dev_reset API provides +DCF PMD need to support rte_eth_dev_reset.The reason is that when a DCF instance be killed, all the flow rules still exist in hardware. when DCF gets to reconnect, +It has already lost the flow context, and if the application wants to create new rules, they may fail because FW reports that the rules already exist.The current +workaround assumes that the user can turn off / turn on VF trust mode, so kernel PF will reset DCF by removing all old rules.The rte_eth_dev_reset API provides a more elegant way for the application to reset DCF through the command "port reset all" when reconnecting. Prerequisites @@ -1072,7 +1072,7 @@ General Set Up # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static # ninja -C -j 110 -2. Get the pci device id and interface of DUT and tester. +2. Get the pci device id and interface of NIC ports. For example, 0000:3b:00.0 and 0000:af:00.0 is pci device id, ens785f0 and ens260f0 is interface:: @@ -1085,7 +1085,7 @@ General Set Up # echo 4 > /sys/bus/pci/devices/0000:3b:00.0/sriov_numvfs -4. Get VF pci device id and interface of DUT. +4. Get VF pci device id and interface of NIC ports. # ./usertools/dpdk-devbind.py -s @@ -1096,10 +1096,10 @@ General Set Up # ip link set ens785f0 vf 0 trust on -6. Bind the DUT port to dpdk:: +6. Bind the NIC port to dpdk:: + + # ./usertools/dpdk-devbind.py -b vfio-pci - # ./usertools/dpdk-devbind.py -b vfio-pci - Test case ========= @@ -1107,28 +1107,28 @@ Common Steps ------------ The common steps launch two testpmds and kill DCF process, then relaunch two testpmds. -1. Launch the userland ``testpmd`` application on DUT as follows:: +1. Launch the userland ``testpmd`` application on SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings. - For , you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan. - -2. Launch another ``testpmd`` application on the VF1 of DUT as follows:: + For , you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan. + +2. Launch another ``testpmd`` application on the VF1 of SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x18 -n 4", you can also refer to testpmd doc for other setings. - For this test plan, you can use "0000:3b:01.1 --file-prefix=vf" for this test plan. + For this test plan, you can use "0000:3b:01.1 --file-prefix=vf" for this test plan. 3. Set verbose in VF testpmd:: - + testpmd> set verbose 1 - + 4. Set fwd engine and start in VF testpmd:: testpmd> set fwd mac @@ -1153,17 +1153,17 @@ The common steps launch two testpmds and kill DCF process, then relaunch two tes Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -7. Send a matched packet in scapy to VF1, check the VF1 of DUT can receive the packet. +7. Send a matched packet in scapy to VF1, check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1183,25 +1183,25 @@ Test Steps ~~~~~~~~~~ 1. Check the process ID and kill DCF process:: - # ps -ef |grep testpmd + # ps -ef |grep testpmd # kill -9 ##### -2. Relaunch the userland ``testpmd`` application on DUT as follows:: +2. Relaunch the userland ``testpmd`` application on SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings. - For , you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan. + For , you can use "0000:3b:01.0,cap=dcf --file-prefix=dcf" for this test plan. -3. Send a matched packet in scapy to VF1, DCF flow rule is still valid and check the VF1 of DUT can receive the packet. +3. Send a matched packet in scapy to VF1, DCF flow rule is still valid and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1235,17 +1235,17 @@ the VF1 of DUT:: Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -7. Send a matched packet in scapy to VF1, and check the VF1 of DUT can receive the packet. +7. Send a matched packet in scapy to VF1, and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1262,7 +1262,7 @@ Test Steps # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset 2. Reset port in DCF testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all @@ -1289,17 +1289,17 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check the VF1 of DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1316,8 +1316,8 @@ Test Steps # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset 2. Detach and reset port in DCF testpmd:: - - testpmd> stop + + testpmd> stop testpmd> port stop 0 testpmd> port detach 0 testpmd> port attach 3b:01.0,cap=dcf @@ -1345,21 +1345,21 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check the VF1 of DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 - ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN Test Case 4: two_testpmd_dcf_reset_mtu -------------------------------------- @@ -1372,14 +1372,14 @@ Test Steps # ifconfig ens785f0 mtu 3000 2. Reset port in DCF testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all testpmd> port start all testpmd> start testpmd> flow list 0 - + 3. Validate a switch rule to VF1 in DCF testpmd:: testpmd> flow validate 0 priority 0 ingress pattern eth / ipv4 src is dst is / end actions vf id 1 / end @@ -1399,22 +1399,22 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check the VF1 of DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN - + Test Case 5: two_testpmd_dcf_reset_mac -------------------------------------- The test case resets DCF by resetting mac addr, and DCF should clean up all old rules. @@ -1426,7 +1426,7 @@ Test Steps # ip link set ens785f0 vf 0 mac 00:01:02:03:04:05 2. Reset port in DCF testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all @@ -1453,17 +1453,17 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check the VF1 of DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check the VF1 of SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -the VF1 of DUT:: +the VF1 of SUT:: testpmd> port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1473,19 +1473,19 @@ Common Steps ------------ The common steps launch one testpmd and kill DCF process, then relaunch one testpmd. -1. Launch the userland ``testpmd`` application on DUT as follows:: +1. Launch the userland ``testpmd`` application on SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings. - For , you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan. + For , you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan. 2. Set verbose:: - + testpmd> set verbose 1 - + 3. Set fwd engine and start:: testpmd> set fwd mac @@ -1510,17 +1510,17 @@ The common steps launch one testpmd and kill DCF process, then relaunch one test Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -6. Send a matched packet in scapy to VF1, check DUT can receive the packet. +6. Send a matched packet in scapy to VF1, check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1534,40 +1534,40 @@ Test Steps ~~~~~~~~~~ 1. Check the process ID and kill DCF process:: - # ps -ef |grep testpmd + # ps -ef |grep testpmd # kill -9 ##### -2. Relaunch the userland ``testpmd`` application on DUT as follows:: +2. Relaunch the userland ``testpmd`` application on SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings. - For , you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan. + For , you can use"-a 3b:01.0,cap=dcf -a 3b:01.1 --file-prefix=dcf" for this test plan. 3. Set verbose:: - + testpmd> set verbose 1 - + 4. Set fwd engine and start:: testpmd> set fwd mac testpmd> start testpmd> flow list 0 -5. Send a matched packet in scapy to VF1, DCF flow rule is cleared and check DUT can't receive the packet. +5. Send a matched packet in scapy to VF1, DCF flow rule is cleared and check SUT can't receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: - testpmd> + testpmd> 6. Reset port in testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all @@ -1593,21 +1593,21 @@ DUT:: Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -9. Send a matched packet in scapy to VF1, and check DUT can receive the packet. +9. Send a matched packet in scapy to VF1, and check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 - ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN Test Case 7: one_testpmd_dcf_reset_device ----------------------------------------- @@ -1620,7 +1620,7 @@ Test Steps # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset 2. Reset port in testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all @@ -1647,17 +1647,17 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 @@ -1674,8 +1674,8 @@ Test Steps # echo 1 > /sys/bus/pci/devices/0000:3b:01.0/reset 2. Detach and reset port in DCF testpmd:: - - testpmd> stop + + testpmd> stop testpmd> port stop 0 testpmd> port detach 0 testpmd> port attach 3b:01.0,cap=dcf @@ -1703,21 +1703,21 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 - ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN Test Case 9: one_testpmd_dcf_reset_mtu -------------------------------------- @@ -1730,13 +1730,13 @@ Test Steps # ifconfig ens785f0 mtu 3000 2. Reset port in DCF testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all testpmd> port start all testpmd> start - testpmd> flow list 0 + testpmd> flow list 0 3. Validate a switch rule to VF1:: @@ -1757,21 +1757,21 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 - ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN + ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN Test Case 10: one_testpmd_dcf_reset_mac --------------------------------------- @@ -1784,7 +1784,7 @@ Test Steps # ip link set ens785f0 vf 0 mac 00:01:02:03:04:05 2. Reset port in DCF testpmd:: - + testpmd> stop testpmd> port stop all testpmd> port reset all @@ -1811,17 +1811,17 @@ Test Steps Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH IPV4 => VF -5. Send a matched packet in scapy to VF1, and check DUT can receive the packet. +5. Send a matched packet in scapy to VF1, and check SUT can receive the packet. -Tester:: +TG:: - >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") + >>> sendp([Ether(src="",dst="")/IP(src="",dst="")/("X"*64)], iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=C6:44:32:0A:EC:E1 - type=0x0800 - length=98 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x0 diff --git a/test_plans/dpdk_gro_lib_cbdma_test_plan.rst b/test_plans/dpdk_gro_lib_cbdma_test_plan.rst index 14aa5d3c..e71e9aa0 100644 --- a/test_plans/dpdk_gro_lib_cbdma_test_plan.rst +++ b/test_plans/dpdk_gro_lib_cbdma_test_plan.rst @@ -39,7 +39,7 @@ This test plan includes dpdk gro lib test with TCP/IPv4 traffic with CBDMA. ..Note: 1.For packed virtqueue virtio-net test, need qemu version > 4.2.0 and VM kernel version > 5.1, and packed ring multi-queues not support reconnect in qemu yet. -2.For split virtqueue virtio-net with multi-queues server mode test, need qemu version >= 5.2.0, dut to old qemu exist reconnect issue when multi-queues test. +2.For split virtqueue virtio-net with multi-queues server mode test, need qemu version >= 5.2.0, sut to old qemu exist reconnect issue when multi-queues test. 3.DPDK local patch that about vhost pmd is needed when testing Vhost asynchronous data path with testpmd. Prerequisites diff --git a/test_plans/dpdk_hugetlbfs_mount_size_test_plan.rst b/test_plans/dpdk_hugetlbfs_mount_size_test_plan.rst index 04681d03..e1cb2d4b 100644 --- a/test_plans/dpdk_hugetlbfs_mount_size_test_plan.rst +++ b/test_plans/dpdk_hugetlbfs_mount_size_test_plan.rst @@ -25,14 +25,14 @@ Test Case 1: default hugepage size w/ and w/o numa ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --huge-dir /mnt/huge --file-prefix=abc -- -i testpmd>start -3. Send packet with packet generator, check testpmd could forward packets correctly. +3. Send packet with traffic generator, check testpmd could forward packets correctly. 4. Goto step 2 resart testpmd with numa support:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --huge-dir /mnt/huge --file-prefix=abc -- -i --numa testpmd>start -5. Send packets with packet generator, make sure testpmd could receive and fwd packets correctly. +5. Send packets with traffic generator, make sure testpmd could receive and fwd packets correctly. Test Case 2: mount size exactly match total hugepage size with two mount points =============================================================================== @@ -50,7 +50,7 @@ Test Case 2: mount size exactly match total hugepage size with two mount points numactl --membind=1 ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 33-34 -n 4 --legacy-mem --socket-mem 0,2048 --huge-dir /mnt/huge2 --file-prefix=bcd -a 82:00.1 -- -i --socket-num=1 --no-numa testpmd>start -3. Send packets with packet generator, make sure two testpmd could receive and fwd packets correctly. +3. Send packets with traffic generator, make sure two testpmd could receive and fwd packets correctly. Test Case 3: mount size greater than total hugepage size with single mount point ================================================================================ @@ -64,7 +64,7 @@ Test Case 3: mount size greater than total hugepage size with single mount point ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3 -n 4 --legacy-mem --huge-dir /mnt/huge --file-prefix=abc -- -i testpmd>start -3. Send packets with packet generator, make sure testpmd could receive and fwd packets correctly. +3. Send packets with traffic generator, make sure testpmd could receive and fwd packets correctly. Test Case 4: mount size greater than total hugepage size with multiple mount points =================================================================================== @@ -86,7 +86,7 @@ Test Case 4: mount size greater than total hugepage size with multiple mount poi numactl --membind=0 ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x30 -n 4 --legacy-mem --socket-mem 1024,0 --huge-dir /mnt/huge3 --file-prefix=fgh -- -i --socket-num=0 --no-numa testpmd>start -3. Send packets with packet generator, check first and second testpmd will start correctly while third one will report error with not enough mem in socket 0. +3. Send packets with traffic generator, check first and second testpmd will start correctly while third one will report error with not enough mem in socket 0. Test Case 5: run dpdk app in limited hugepages controlled by cgroup =================================================================== @@ -97,4 +97,4 @@ Test Case 5: run dpdk app in limited hugepages controlled by cgroup cgset -r hugetlb.1GB.limit_in_bytes=2147483648 test-subgroup cgexec -g hugetlb:test-subgroup numactl -m 1 ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x3000 -n 4 -- -i --socket-num=1 --no-numa -2. Start testpmd and send packets with packet generator, make sure testpmd could receive and fwd packets correctly. +2. Start testpmd and send packets with traffic generator, make sure testpmd could receive and fwd packets correctly. diff --git a/test_plans/efd_test_plan.rst b/test_plans/efd_test_plan.rst index ee440c02..eece98ef 100644 --- a/test_plans/efd_test_plan.rst +++ b/test_plans/efd_test_plan.rst @@ -9,12 +9,12 @@ Description ----------- EFD is a distributor library that uses perfect hashing to determine a target/value for a given incoming flow key. -It has the following advantages: +It has the following advantages: 1. It uses perfect hashing it does not store the key itself and hence -lookup performance is not dependent on the key size. +lookup performance is not dependent on the key size. 2. Target/value can be any arbitrary value hence the system designer and/or operator can better optimize service rates and inter-cluster -network traffic locating. +network traffic locating. 3. Since the storage requirement is much smaller than a hash-based flow table (i.e. better fit for CPU cache), EFD can scale to millions of flow keys. @@ -25,9 +25,9 @@ For more details, please reference to dpdk online programming guide. Prerequisites ============= -Two ports connect to packet generator. +Two ports connect to traffic generator. -DUT board must be two sockets system and each cpu have more than 16 lcores. +SUT board must be two sockets system and each cpu have more than 16 lcores. Unit test cases =================== diff --git a/test_plans/enable_package_download_in_ice_driver_test_plan.rst b/test_plans/enable_package_download_in_ice_driver_test_plan.rst index 350798ed..3cbd0cdf 100644 --- a/test_plans/enable_package_download_in_ice_driver_test_plan.rst +++ b/test_plans/enable_package_download_in_ice_driver_test_plan.rst @@ -27,8 +27,8 @@ Prerequisites Hardware:: Ice NIC port*2 - DUT_port_0 <---> Tester_port_0 - DUT_port_1 <---> Tester_port_1 + SUT_port_0 <---> TG_port_0 + SUT_port_1 <---> TG_port_1 Test case 1: Download the package successfully ============================================== @@ -50,8 +50,8 @@ Test case 1: Download the package successfully testpmd> set mac fwd testpmd> start - Send an IPV4 packet from Tester_port_0, - Tester_port_1 can receive the forwarded packet. + Send an IPV4 packet from TG_port_0, + TG_port_1 can receive the forwarded packet. The forward can run normally. 4. The RSS function run normally. @@ -61,7 +61,7 @@ Test case 1: Download the package successfully testpmd> set mac rxonly testpmd> start -5. Send UPD/TCP/SCTP+IPV4/IPV6 packets with packet generator +5. Send UPD/TCP/SCTP+IPV4/IPV6 packets with traffic generator with different IPV4/IPV6 address or TCP/UDP/SCTP ports, the packets can be distributed to different rx queues. @@ -91,8 +91,8 @@ Test case 2: Driver enters Safe Mode successfully testpmd> set mac fwd testpmd> start - Send an IPV4 packet from Tester_port_0, - Tester_port_1 can receive the forwarded packet. + Send an IPV4 packet from TG_port_0, + TG_port_1 can receive the forwarded packet. The forward can run normally. 4. The RSS function doesn't work. @@ -102,7 +102,7 @@ Test case 2: Driver enters Safe Mode successfully testpmd> set mac rxonly testpmd> start -5. Send UPD/TCP/SCTP+IPV4/IPV6 packets with packet generator +5. Send UPD/TCP/SCTP+IPV4/IPV6 packets with traffic generator with different IPV4/IPV6 address or TCP/UDP/SCTP ports, the packets can be only distributed to rx queue 0. diff --git a/test_plans/ethtool_stats_test_plan.rst b/test_plans/ethtool_stats_test_plan.rst index 0d86e9bb..a7d58f41 100644 --- a/test_plans/ethtool_stats_test_plan.rst +++ b/test_plans/ethtool_stats_test_plan.rst @@ -24,10 +24,10 @@ that DPDK supports. The idea behind this epic is two fold as following. Prerequisites ============= -2xNICs (2 full duplex optical ports per NIC). One on dut, another one on tester, +2xNICs (2 full duplex optical ports per NIC). One on SUT, another one on TG, link them together. Update two nics' firmware to latest version:: - Tester DUT + TG SUT .-------. .-------. | port0 | <------------------> | port0 | | port1 | <------------------> | port1 | diff --git a/test_plans/eventdev_perf_test_plan.rst b/test_plans/eventdev_perf_test_plan.rst index 7c19649e..3b8d2933 100644 --- a/test_plans/eventdev_perf_test_plan.rst +++ b/test_plans/eventdev_perf_test_plan.rst @@ -8,7 +8,7 @@ Eventdev Tests Prerequisites ============== -Each of the 10Gb/25Gb/40Gb/100Gb Ethernet* ports of the DUT is directly connected in +Each of the 10Gb/25Gb/40Gb/100Gb Ethernet* ports of the SUT is directly connected in full-duplex to a different port of the peer Ixia ports(traffic generator). Using TCL commands, the Ixia can be configured to send and receive traffic on a given set of ports. diff --git a/test_plans/eventdev_pipeline_perf_test_plan.rst b/test_plans/eventdev_pipeline_perf_test_plan.rst index 982da51d..61fed2a5 100644 --- a/test_plans/eventdev_pipeline_perf_test_plan.rst +++ b/test_plans/eventdev_pipeline_perf_test_plan.rst @@ -8,7 +8,7 @@ Eventdev Pipeline Perf Tests Prerequisites ============== -Each of the 10Gb/25Gb/40Gb/100Gb Ethernet* ports of the DUT is directly connected in +Each of the 10Gb/25Gb/40Gb/100Gb Ethernet* ports of the SUT is directly connected in full-duplex to a different port of the peer Ixia ports(traffic generator). Using TCL commands, the Ixia can be configured to send and receive traffic on a given set of ports. diff --git a/test_plans/external_mempool_handler_test_plan.rst b/test_plans/external_mempool_handler_test_plan.rst index 11de4472..a3431d75 100644 --- a/test_plans/external_mempool_handler_test_plan.rst +++ b/test_plans/external_mempool_handler_test_plan.rst @@ -29,7 +29,7 @@ Test Case 1: Multiple producers and multiple consumers testpmd> set fwd mac testpmd> start -4. Send hundreds of packets from tester ports +4. Send hundreds of packets from TG ports 5. verify forwarded packets sequence and integrity Test Case 2: Single producer and Single consumer @@ -50,7 +50,7 @@ Test Case 2: Single producer and Single consumer testpmd> set fwd mac testpmd> start -4. Send hundreds of packets from tester ports +4. Send hundreds of packets from TG ports 5. verify forwarded packets sequence and integrity Test Case 3: Single producer and Multiple consumers @@ -71,7 +71,7 @@ Test Case 3: Single producer and Multiple consumers testpmd> set fwd mac testpmd> start -4. Send hundreds of packets from tester ports +4. Send hundreds of packets from TG ports 5. verify forwarded packets sequence and integrity Test Case 4: Multiple producers and single consumer @@ -92,7 +92,7 @@ Test Case 4: Multiple producers and single consumer testpmd> set fwd mac testpmd> start -4. Send hundreds of packets from tester ports +4. Send hundreds of packets from TG ports 5. verify forwarded packets sequence and integrity Test Case 4: Stack mempool handler @@ -113,5 +113,5 @@ Test Case 4: Stack mempool handler testpmd> set fwd mac testpmd> start -4. Send hundreds of packets from tester ports +4. Send hundreds of packets from TG ports 5. verify forwarded packets sequence and integrity diff --git a/test_plans/flexible_rxd_test_plan.rst b/test_plans/flexible_rxd_test_plan.rst index 5df7835b..06e7eca3 100644 --- a/test_plans/flexible_rxd_test_plan.rst +++ b/test_plans/flexible_rxd_test_plan.rst @@ -74,7 +74,7 @@ Launch testpmd by:: testpmd>start Please change the core setting (-l option) and port's PCI (-a option) \ -by your DUT environment +by your SUT environment Send a packet with VLAN tag from test network interface:: @@ -166,7 +166,7 @@ Test packet:: p = Ether(src='3c:fd:fe:bc:f6:78', dst='68:05:ca:a3:13:4c')/IP(tos=23,ttl=98)/UDP()/Raw(load='XXXXXXXXXX') Expected output in testpmd:: - + ver=4 hdrlen=5 tos=23 diff --git a/test_plans/floating_veb_test_plan.rst b/test_plans/floating_veb_test_plan.rst index 490ea671..9e2988a5 100644 --- a/test_plans/floating_veb_test_plan.rst +++ b/test_plans/floating_veb_test_plan.rst @@ -48,7 +48,7 @@ to the floating VEB, cannot forward to the outside world. Prerequisites for VEB testing ============================= -1. Get the pci device id of DUT, for example:: +1. Get the pci device id of NIC ports, for example:: ./dpdk-devbind.py --st 0000:05:00.0 'Ethernet Controller X710 for 10GbE SFP+' if=ens785f0 drv=i40e @@ -158,8 +158,8 @@ send traffic from VF0 to PF, PF can't receive any packets either. Test Case: Floating VEB VF can't receive traffic from outside world =================================================================== -Summary: DPDK PF, then create 1VF, send traffic from tester to VF1, -in floating mode, check VF1 can't receive traffic from tester. +Summary: DPDK PF, then create 1VF, send traffic from TG to VF1, +in floating mode, check VF1 can't receive traffic from TG. 1. Start VM1 with VF1, see the prerequisite part. @@ -178,12 +178,12 @@ in floating mode, check VF1 can't receive traffic from tester. testpmd> start testpmd> show port stats all - In tester, run scapy:: + In TG, run scapy:: packet=Ether(dst="VF_mac_address")/IP()/UDP()/Raw('x'*20) sendp(packet,iface="enp132s0f0") -3. Check if VF1 can not get any packets, so tester->VF1 is not working. +3. Check if VF1 can not get any packets, so TG->VF1 is not working. 4. Set "testpmd> port stop all" in step2 in Host, then run the test case again. Get same result. PF can't receive any packets. @@ -279,10 +279,10 @@ VF1 and VF2 is in legacy VEB. 1. Send traffic from VF0 to PF, then check PF will not see any traffic; 2. Send traffic from VF1 to PF, then check PF will receive all the packets. -3. send traffic from tester to VF0, check VF0 can't receive traffic from - tester. -4. send traffic from tester to VF1, check VF1 can receive all the traffic - from tester. +3. send traffic from TG to VF0, check VF0 can't receive traffic from + TG. +4. send traffic from TG to VF1, check VF1 can receive all the traffic + from TG. 5. send traffic from VF1 to VF2, check VF2 can receive all the traffic from VF1. @@ -324,12 +324,12 @@ Details: testpmd> set fwd rxonly testpmd> start - In tester, run scapy:: + In TG, run scapy:: packet=Ether(dst="VF0_mac_address")/IP()/UDP()/Raw('x'*20) sendp(packet,iface="enp132s0f0") - Check VF0 can get all the packets, so tester->VF0 is working. + Check VF0 can get all the packets, so TG->VF0 is working. 5. VF1, run testpmd:: @@ -339,12 +339,12 @@ Details: testpmd> set fwd rxonly testpmd> start - In tester, run scapy:: + In TG, run scapy:: packet=Ether(dst="VF1_mac_address")/IP()/UDP()/Raw('x'*20) sendp(packet,iface="enp132s0f0") - Check VF1 can get all the packets, so tester->VF1 is working. + Check VF1 can get all the packets, so TG->VF1 is working. 6. VF1, run testpmd:: diff --git a/test_plans/flow_classify_softnic_test_plan.rst b/test_plans/flow_classify_softnic_test_plan.rst index f34608e8..1a8539c7 100644 --- a/test_plans/flow_classify_softnic_test_plan.rst +++ b/test_plans/flow_classify_softnic_test_plan.rst @@ -11,21 +11,21 @@ The SoftNIC allows building custom NIC pipelines in SW. The Soft NIC pipeline is Prerequisites ============= -The DUT can have 4*10G Ethernet ports or 2*10G Ethernet ports. +The SUT can have 4*10G Ethernet ports or 2*10G Ethernet ports. We design case with 4*10G Ethernet ports. -The DUT have four 10G Ethernet ports connected to four ports on tester that are controlled by the Scapy packet generator:: +The SUT have four 10G Ethernet ports connected to four ports on TG that are controlled by the Scapy traffic generator:: - dut_port_0 <---> tester_port_0 - dut_port_1 <---> tester_port_1 - dut_port_2 <---> tester_port_2 - dut_port_3 <---> tester_port_3 + SUT_port_0 <---> TG_port_0 + SUT_port_1 <---> TG_port_1 + SUT_port_2 <---> TG_port_2 + SUT_port_3 <---> TG_port_3 -Assume four DUT 10G Ethernet ports' pci device id is as the following:: +Assume four SUT 10G Ethernet ports' pci device id is as the following:: - dut_port_0 : "0000:05:00.0" - dut_port_1 : "0000:05:00.1" - dut_port_2 : "0000:05:00.2" - dut_port_3 : "0000:05:00.3" + SUT_port_0 : "0000:05:00.0" + SUT_port_1 : "0000:05:00.1" + SUT_port_2 : "0000:05:00.2" + SUT_port_3 : "0000:05:00.3" Bind them to dpdk igb_uio driver:: diff --git a/test_plans/flow_classify_test_plan.rst b/test_plans/flow_classify_test_plan.rst index c543c771..b922bb1f 100644 --- a/test_plans/flow_classify_test_plan.rst +++ b/test_plans/flow_classify_test_plan.rst @@ -41,7 +41,7 @@ HW configuration ---------------- link peer topology:: - Tester DUT + TG SUT .-------. .-------. | port0 | <------------------> | port0 | | port1 | <------------------> | port1 | @@ -156,7 +156,7 @@ rule config file(default):: Test cases ---------- The idea behind the testing process is to compare packet count sending by -ixia packet generator with packet count filtered by flow_classify. Valid +ixia traffic generator with packet count filtered by flow_classify. Valid packets should be in flow_classify output and invalid packets should be ignored. The rules are configured in a txt file. Testing content includes single udp/tcp/sctp stream and multiple streams. @@ -172,7 +172,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(UDP_1, iface='xxxxx', count=32) @@ -193,7 +193,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(UDP_invalid, iface='xxxxx', count=32) @@ -212,7 +212,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(TCP_1, iface='xxxxx', count=32) @@ -233,7 +233,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(TCP_invalid, iface='xxxxx', count=32) @@ -252,7 +252,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(SCTP_1, iface='xxxxx', count=32) @@ -271,7 +271,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send stream by packet generator(e.g. scapy or ixia):: +#. send stream by traffic generator(e.g. scapy or ixia):: scapy> sendp(SCTP_invalid, iface='xxxxx', count=32) @@ -290,7 +290,7 @@ steps: ./dpdk-flow_classify -c 4 -n 4 -- --rule_ipv4= -#. send multiple stream by packet generator(e.g. scapy or ixia), include SCTP_1/SCTP_invalid/TCP_invalid/TCP_1/TCP_2/UDP_invalid/UDP_1/UDP_2:: +#. send multiple stream by traffic generator(e.g. scapy or ixia), include SCTP_1/SCTP_invalid/TCP_invalid/TCP_1/TCP_2/UDP_invalid/UDP_1/UDP_2:: scapy> multiple_stream = [SCTP_1, SCTP_invalid, TCP_invalid, TCP_1, TCP_2, UDP_invalid, UDP_1, UDP_2] scapy> sendp(multiple_stream, iface='xxxx', count=32) diff --git a/test_plans/flow_filtering_test_plan.rst b/test_plans/flow_filtering_test_plan.rst index 92d31413..b46156d0 100644 --- a/test_plans/flow_filtering_test_plan.rst +++ b/test_plans/flow_filtering_test_plan.rst @@ -23,14 +23,14 @@ IGB not support flow example. Prerequisites ============= -The DUT must have one 10G Ethernet ports connected to one port on -Tester that are controlled by packet generator:: +The SUT must have one 10G Ethernet ports connected to one port on +TG that are controlled by traffic generator:: - dut_port_0 <---> tester_port_0 + SUT_port_0 <---> TG_port_0 -Assume the DUT 10G Ethernet ports' pci device id is as the following:: +Assume the SUT 10G Ethernet ports' pci device id is as the following:: - dut_port_0 : "0000:05:00.0" + SUT_port_0 : "0000:05:00.0" mac_address: "00:00:00:00:01:00" Bind the port to dpdk igb_uio driver:: @@ -43,7 +43,7 @@ Test Case: match rule ./dpdk-flow_filtering -l 1 -n 1 -2. Send packets which matches the defined rule from tester:: +2. Send packets which matches the defined rule from TG:: Pkt1 = Ether(dst="00:00:00:00:01:00")/IP(src="0.0.0.0", dst="192.168.1.1") \ /Raw("x"*20) @@ -61,7 +61,7 @@ Test Case: dismatch rule ./dpdk-flow_filtering -l 1 -n 1 -2. Send packet which dismatches the defined rule from tester:: +2. Send packet which dismatches the defined rule from TG:: Pkt1 = Ether(dst="00:00:00:00:01:00")/IP(src="0.0.0.0", dst="192.168.1.2") \ /Raw("x"*20) diff --git a/test_plans/generic_flow_api_test_plan.rst b/test_plans/generic_flow_api_test_plan.rst index 93812f49..dd29e763 100644 --- a/test_plans/generic_flow_api_test_plan.rst +++ b/test_plans/generic_flow_api_test_plan.rst @@ -10,15 +10,15 @@ Prerequisites 1. Hardware: Intel® Ethernet 700 Series and 82599 - -2. software: + +2. software: dpdk: http://dpdk.org/git/dpdk scapy: http://www.secdev.org/projects/scapy/ 3. bind the pf to dpdk driver:: ./usertools/dpdk-devbind.py -b igb_uio 05:00.0 - + Note: validate the rules first before create it in each case. All the rules that can be validated correctly should be created successfully. The rules can't be validated correctly shouldn't be created successfully. @@ -139,7 +139,7 @@ Test case: Intel® Ethernet 700 Series fdir for flexbytes restart testpmd, create new rules:: testpmd> flow create 0 ingress pattern eth / ipv4 src is 2.2.2.4 dst is 2.2.2.5 / tcp src is 32 dst is 33 / raw relative is 1 offset is 2 pattern spec \x61\x62\x63\x64 pattern mask \x00\x00\xff\x01 / end actions queue index 7 / end - + 3. send packets:: pkt1 = Ether(dst="00:11:22:33:44:55", type=0x0807)/Raw(load="\x61\x62\x63\x64") @@ -180,7 +180,7 @@ Test case: Intel® Ethernet 700 Series fdir for ipv4 =================================================== Prerequisites: - + add two vfs on dpdk pf, then bind the vfs to vfio-pci:: echo 2 >/sys/bus/pci/devices/0000:05:00.0/max_vfs @@ -262,7 +262,7 @@ Test case: Intel® Ethernet 700 Series fdir for ipv4 pkt9 = Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2", tos=4)/TCP(sport=32,dport=33)/Raw('x' * 20) pkt10 = Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.3", dst="192.168.0.4", proto=3)/Raw('x' * 20) - verify packet + verify packet pkt1 to queue 1 and vf0 queue 1, pkt2 to queue 2, pkt3 to queue 3, pkt4 to queue 4, pkt5 to vf1 queue 2, pkt6 can't be received by pf. if not "--disable-rss", @@ -627,7 +627,7 @@ Test case: Intel® Ethernet 700 Series tunnel nvgre pf can't receive pkt52,pkt54 and pkt56. pkt71 to vf1 queue 3, pkt72 and pkt73 to vf1 queue 0, pkt74 to pf queue 0, vf1 can't receive pkt74. Then:: - + testpmd> flow flush 0 testpmd> flow list 0 @@ -831,7 +831,7 @@ the rule 6 and 7 should be created after the testpmd reset, because the flexbytes rule is global bit masks. invalid queue id:: - + testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / udp src is 32 dst is 33 / end actions queue index 16 / end notes: the rule can't be created successfully because the queue id @@ -978,7 +978,7 @@ because it's conflict with the rule 9. pkt41 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::1", dst="2001::2",nh=132)/SCTP(sport=44,dport=45,tag=1)/SCTPChunkData(data="cdxxxx") pkt42 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::1", dst="2001::2",nh=132)/SCTP()/SCTPChunkData(data="cdxxxx") pkt51 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::1", dst="2001::2",nh=132)/SCTP(sport=46,dport=47,tag=1)/SCTPChunkData(data="cdxxxx") - pkt52 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="2001::4",nh=132)/SCTP(sport=46,dport=47,tag=1)/SCTPChunkData(data="cdxxxx") + pkt52 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="2001::4",nh=132)/SCTP(sport=46,dport=47,tag=1)/SCTPChunkData(data="cdxxxx") pkt6 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::1", dst="2001::2")/Raw(load="xx86abcd") pkt7 = Ether(dst="00:11:22:33:44:55")/IPv6(src="2001::1", dst="2001::2")/Raw(load="xxx86abcd") @@ -1007,7 +1007,7 @@ because it's conflict with the rule 9. for 82599/x540: packet pkt1 to pkt3 can be received by queue 1 to queue 3 correctly. - pkt41 and pkt42 to queue 4, pkt51 to queue 4, pkt52 to queue 0. + pkt41 and pkt42 to queue 4, pkt51 to queue 4, pkt52 to queue 0. pkt6 to queue 5, pkt7 to queue 0. verify ipv4 packets: @@ -1389,7 +1389,7 @@ Test case: igb flexbytes testpmd> flow create 0 ingress pattern raw relative is 1 offset is 2 pattern is fhds / end actions queue index 2 / end ipv4 packet:: - + testpmd> flow create 0 ingress pattern raw relative is 0 offset is 34 pattern is ab / end actions queue index 3 / end ipv6 packet:: @@ -1409,7 +1409,7 @@ Test case: igb flexbytes testpmd> flow create 0 ingress pattern raw relative is 0 offset is 64 pattern is ab / raw relative is 1 offset is 4 pattern is cdefgh / raw relative is 0 offset is 68 pattern is klmn / end actions queue index 7 / end 1 field 128bytes - + flush the rules:: testpmd> flow flush 0 @@ -1976,7 +1976,7 @@ Test case: Intel® Ethernet 700 Series fdir for l2 mac Test case: Dual vlan(QinQ) ================================= -1. config testpmd on DUT +1. config testpmd on SUT 1. set up testpmd with Intel® Ethernet 700 Series NICs:: @@ -2003,26 +2003,26 @@ Test case: Dual vlan(QinQ) testpmd> start -2. using scapy to send packets with dual vlan (QinQ) on tester:: +2. using scapy to send packets with dual vlan (QinQ) on TG:: - sendp([Ether(dst="68:05:ca:30:6a:f8")/Dot1Q(id=0x8100,vlan=1)/Dot1Q(id=0x8100,vlan=2,type=0xaaaa)/Raw(load="x"*60)], iface=ttester_itf) + sendp([Ether(dst="68:05:ca:30:6a:f8")/Dot1Q(id=0x8100,vlan=1)/Dot1Q(id=0x8100,vlan=2,type=0xaaaa)/Raw(load="x"*60)], iface=tTG_itf) - then got hash value and queue value that output from the testpmd on DUT. + then got hash value and queue value that output from the testpmd on SUT. -3. create flow rss type s-vlan c-vlan by testpmd on dut:: +3. create flow rss type s-vlan c-vlan by testpmd on SUT:: testpmd> flow create 0 ingress pattern eth / end actions rss types s-vlan c-vlan end key_len 0 queues end / end - 1). send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the value should be + 1). send packet as step 2, got hash value and queue value that output from the testpmd on SUT, the value should be different with the values in step 2. - 2). send packet as step 2 with changed ovlan id, got hash value and queue value that output from the testpmd on DUT, the value should be + 2). send packet as step 2 with changed ovlan id, got hash value and queue value that output from the testpmd on SUT, the value should be different with the values in step 2 & step 1). - 3). send packet as step 2 with changed ivlan id, got hash value and queue value that output from the testpmd on DUT, the value should be + 3). send packet as step 2 with changed ivlan id, got hash value and queue value that output from the testpmd on SUT, the value should be different with the values in step 2 & step 1) & step 2). Test case: create same rule after destroy @@ -2074,7 +2074,7 @@ Test case: create different rule after destroy Test Case: 10GB Multiple filters ====================================== -1. config testpmd on DUT +1. config testpmd on SUT 1. set up testpmd with Intel® Ethernet 700 Series NICs:: diff --git a/test_plans/iavf_flexible_descriptor_test_plan.rst b/test_plans/iavf_flexible_descriptor_test_plan.rst index f6dcb9a4..d37d824e 100644 --- a/test_plans/iavf_flexible_descriptor_test_plan.rst +++ b/test_plans/iavf_flexible_descriptor_test_plan.rst @@ -111,7 +111,7 @@ VLAN cases expected: RXDID[17] .. note:: - Please change the core setting (-l option) and port's PCI (-a option) by your DUT environment + Please change the core setting (-l option) and port's PCI (-a option) by your SUT environment Test Case: Check single VLAN fields in RXD (802.1Q) --------------------------------------------------- diff --git a/test_plans/iavf_package_driver_error_handle_test_plan.rst b/test_plans/iavf_package_driver_error_handle_test_plan.rst index 6425a151..4f0377cb 100644 --- a/test_plans/iavf_package_driver_error_handle_test_plan.rst +++ b/test_plans/iavf_package_driver_error_handle_test_plan.rst @@ -7,10 +7,8 @@ IAVF Flexible Package and driver error handle check Description =========== -1. The feature is to check the Intel® Ethernet 800 Series 100G and 25G NIC, - when the using old version driver and latest DDP package, will cause to - the RSS rule create fail, because the old version driver vers does not - support RSS feature in iavf. +1. The feature is to check the Intel® Ethernet 800 Series 100G and 25G NIC, when the using old version driver and latest DDP package, + will cause to the RSS rule create fail, because the old version driver vers does not support RSS feature in iavf. 2. The feature is to check the Intel® Ethernet 800 Series 100G and 25G NIC, when the using old version ddp package or invalide ddp package and latest version driver, wll cause to the VF start fail, because the old version @@ -23,7 +21,7 @@ Prerequisites 2. Software: dpdk: http://dpdk.org/git/dpdk - + Copy correct ``ice.pkg`` into ``/usr/lib/firmware/intel/ice/ddp/``, \ Prepare driver with latest version Prepare driver with a old special version ice-0.10.0_rc17 @@ -38,19 +36,19 @@ Prerequisites CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc - + Test Case 1: Check old driver and latest commes pkg compatibility ================================================================= 1. change to Old driver and latst comms pkgs of version Driver version : ice-0.10.0_rc17 DDP pkg version: ice_comms-1.3.16.0 - + 2. Generate 1 VFs on PF0 and set mac address for each VF:: modprobe vfio-pci echo 1 > /sys/bus/pci/devices/0000\:b1\:00.0/sriov_numvfs ip link set enp177s0f0 vf 0 mac 00:11:22:33:44:55 -3. Bind the pci device id of DUT in VFs:: +3. Bind the pci device id of NIC ports in VFs:: ./usertools/dpdk-devbind.py -b vfio-pci 0000:b1:01.0 4. Launch the testpmd @@ -70,7 +68,7 @@ Test Case 2: Check latst driver and invalid commes pkg compatibility ==================================================================== 1. change to Latest driver and old pkgs of version Driver version : latst version - DDP pkg version: ice-1.2.0.1.pkg or touch to pkg file is invalid + DDP pkg version: ice-1.2.0.1.pkg or touch to pkg file is invalid 2. Generate 1 VFs on PF0 and set mac address for each VF:: modprobe vfio-pci diff --git a/test_plans/iavf_test_plan.rst b/test_plans/iavf_test_plan.rst index c329f644..8122b921 100644 --- a/test_plans/iavf_test_plan.rst +++ b/test_plans/iavf_test_plan.rst @@ -205,9 +205,9 @@ send packet with vlan or without vlan, both can be received and forwarded. Test Cases: VF jumboframe ============================== -Ensure Tester's ports support sending jumboframe:: +Ensure TG's ports support sending jumboframe:: - ifconfig 'tester interface' mtu 9000 + ifconfig 'TG interface' mtu 9000 Test Case: Check that no jumbo frame support diff --git a/test_plans/ice_1pps_signal_test_plan.rst b/test_plans/ice_1pps_signal_test_plan.rst index 1c7c4d8a..44ace817 100644 --- a/test_plans/ice_1pps_signal_test_plan.rst +++ b/test_plans/ice_1pps_signal_test_plan.rst @@ -19,7 +19,7 @@ Prerequisites Topology -------- -DUT port 0 <----> Tester port 0 +SUT port 0 <----> TG port 0 Hardware -------- @@ -37,7 +37,7 @@ General set up # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static # ninja -C -j 110 -2. Get the pci device id and interface of DUT and tester. +2. Get the pci device id and interface of NICs. For example, 0000:18:00.0 and 0000:18:00.1 is pci device id, ens785f0 and ens785f1 is interface:: @@ -46,9 +46,9 @@ General set up 0000:18:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci 0000:18:00.1 'Device 159b' if=ens785f1 drv=ice unused=vfio-pci -3. Bind the DUT port to dpdk:: +3. Bind the NIC port to dpdk:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci Test case @@ -63,7 +63,7 @@ test steps ~~~~~~~~~~ 1. start testpmd with different pin_id and dump registers:: - /app/dpdk-testpmd -a ,pps_out='[pin:0]' -- -i --rxq=4 --txq=4 + /app/dpdk-testpmd -a ,pps_out='[pin:0]' -- -i --rxq=4 --txq=4 testpmd> read reg 0 0x00088998 testpmd> read reg 0 0x000889B8 testpmd> read reg 0 0x00088928 diff --git a/test_plans/ice_advanced_iavf_rss_gtpogre_test_plan.rst b/test_plans/ice_advanced_iavf_rss_gtpogre_test_plan.rst index e9f4fdf1..0b508baf 100644 --- a/test_plans/ice_advanced_iavf_rss_gtpogre_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_gtpogre_test_plan.rst @@ -45,7 +45,7 @@ Prerequisites CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC, for example:: ./usertools/dpdk-devbind.py -s @@ -81,7 +81,7 @@ Prerequisites testpmd> set verbose 1 testpmd> start -10. start scapy and configuration GTP profile in tester +10. start scapy and configuration GTP profile in TG scapy:: >>> import sys diff --git a/test_plans/ice_advanced_iavf_rss_gtpu_test_plan.rst b/test_plans/ice_advanced_iavf_rss_gtpu_test_plan.rst index 69782f05..a936ade6 100644 --- a/test_plans/ice_advanced_iavf_rss_gtpu_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_gtpu_test_plan.rst @@ -20,7 +20,7 @@ It can support ipv4+ipv6 combination of GTP-U packet. IAVF also support symmetric hash function by rte_flow for GTP-U packets. But simple-xor hash function is not supported in IAVF. And it need DDP Comms Package to support GTP-U protocol. -support pattern and input set +support pattern and input set ----------------------------- .. table:: @@ -169,7 +169,7 @@ Prerequisites This rss feature designed for Intel® Ethernet 800 Series NIC 25G and 100G, so below cases only support Intel® Ethernet 800 Series NIC. -3. create a VF from a PF in DUT, set mac address for thi VF:: +3. create a VF from a PF in SUT, set mac address for this VF:: echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55 @@ -183,13 +183,13 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -5. Launch the testpmd to configuration queue of rx and tx number 16 in DUT:: +5. Launch the testpmd to configuration queue of rx and tx number 16 in SUT:: testpmd>./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -a 0000:18:01.0 -- -i --rxq=16 --txq=16 testpmd>set fwd rxonly testpmd>set verbose 1 -6. start scapy and configuration NVGRE and GTP profile in tester +6. start scapy and configuration NVGRE and GTP profile in TG scapy:: >>> import sys @@ -485,7 +485,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -500,7 +500,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -515,7 +515,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -530,7 +530,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -544,7 +544,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.10.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -558,7 +558,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.10.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -725,7 +725,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -740,7 +740,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -755,7 +755,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -770,7 +770,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -784,7 +784,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.10.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -798,7 +798,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.10.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1129,7 +1129,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1145,7 +1145,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -1161,7 +1161,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1177,7 +1177,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -1296,7 +1296,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1312,7 +1312,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -1328,7 +1328,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1344,7 +1344,7 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") @@ -1420,7 +1420,7 @@ basic hit pattern packets are the same in this test case. ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.0.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.0.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1447,7 +1447,7 @@ hit pattern and defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.0.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.0.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1468,7 +1468,7 @@ hit pattern but not defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.10.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.10.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1495,7 +1495,7 @@ hit pattern and defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.10.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1", src="192.168.10.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1516,7 +1516,7 @@ hit pattern but not defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.0.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.0.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1580,19 +1580,19 @@ hit pattern and defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123457)/IP(dst="192.168.0.1", src="192.168.0.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123457)/IP(dst="192.168.0.1", src="192.168.0.2",frag=6)/("X"*480)],iface="enp134s0f0") - + ipv4-icmp packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123457)/IP(dst="192.168.0.1", src="192.168.0.2")/ICMP()/("X"*480)],iface="enp134s0f0") - + ipv4-tcp packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123457)/IP(dst="192.168.0.1", src="192.168.0.2")/TCP()/("X"*480)],iface="enp134s0f0") - + ipv4-udp packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123457)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP()/("X"*480)],iface="enp134s0f0") @@ -1601,7 +1601,7 @@ hit pattern but not defined input set: ipv4-nonfrag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.10.2")/("X"*480)],iface="enp134s0f0") - + ipv4-frag packet:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.10.1", src="192.168.10.2",frag=6)/("X"*480)],iface="enp134s0f0") @@ -1624,7 +1624,7 @@ Test case: MAC_IPV4_GTPU_IPV4_UDP basic hit pattern packets are the same in this test case:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3DST ::::::::::::::::::::::::::::::::::::: rule:: @@ -1634,11 +1634,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=12, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3SRC ::::::::::::::::::::::::::::::::::::: rule:: @@ -1648,11 +1648,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=12, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4SRC ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1663,11 +1663,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4DST ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1678,11 +1678,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4SRC ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1693,11 +1693,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4DST ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1708,11 +1708,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/UDP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L4DST ::::::::::::::::::::::::::::::::::::: rule:: @@ -1722,11 +1722,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.10.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_UDP_L4SRC ::::::::::::::::::::::::::::::::::::: rule:: @@ -1736,7 +1736,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.10.2")/UDP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -1775,7 +1775,7 @@ Test case: MAC_IPV4_GTPU_IPV4_TCP basic hit pattern packets are the same in this test case:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3DST ::::::::::::::::::::::::::::::::::::: rule:: @@ -1785,11 +1785,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=12, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3SRC ::::::::::::::::::::::::::::::::::::: rule:: @@ -1799,11 +1799,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=12, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3SRC_L4SRC ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1814,11 +1814,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3SRC_L4DST ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1829,11 +1829,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3DST_L4SRC ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1844,11 +1844,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L3DST_L4DST ::::::::::::::::::::::::::::::::::::::::::: rule:: @@ -1859,11 +1859,11 @@ hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.10.2")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L4DST ::::::::::::::::::::::::::::::::::::: rule:: @@ -1873,11 +1873,11 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.10.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + Subcase: MAC_IPV4_GTPU_IPV4_TCP_L4SRC ::::::::::::::::::::::::::::::::::::: rule:: @@ -1887,7 +1887,7 @@ rule:: hit pattern and defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") - + hit pattern but not defined input set:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(src="192.168.10.1", dst="192.168.10.2")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -3625,7 +3625,7 @@ so the following step don't need to be run. 14. repeat step 5 and 7, check packets have no hash value, and distributed to queue 0. - + Subcase: IPV4_GTPU_EH_IPV4 with/without UL/DL --------------------------------------------- 1. create IPV4_GTPU_EH_DL_IPV4 rule:: @@ -3651,7 +3651,7 @@ Subcase: IPV4_GTPU_EH_IPV4 with/without UL/DL sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/("X"*480)], iface="enp134s0f0") 6. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. - + 7. send packets:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/("X"*480)], iface="enp134s0f0") @@ -3683,7 +3683,7 @@ Subcase: IPV4_GTPU_EH_IPV4 without/with UL/DL sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/("X"*480)], iface="enp134s0f0") 3. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. - + 4. send packets:: sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/("X"*480)], iface="enp134s0f0") @@ -3865,7 +3865,7 @@ toeplitz and symmetric rules combination case Subcase: toeplitz/symmetric with same pattern --------------------------------------------- -1. DUT create rule for the RSS function is toeplitz:: +1. SUT create rule for the RSS function is toeplitz:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end @@ -3877,7 +3877,7 @@ Subcase: toeplitz/symmetric with same pattern 3. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. -4. DUT create rule for the RSS function is symmetric:: +4. SUT create rule for the RSS function is symmetric:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -3892,7 +3892,7 @@ Subcase: toeplitz/symmetric with same pattern 6. check each 2 pkts has same hash value. -7. DUT verify rule can be listed:: +7. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -3915,7 +3915,7 @@ so the following step don't need to be run. Subcase: toeplitz/symmetric with same ptype different UL/DL ----------------------------------------------------------- -1. DUT create rule for the RSS function is toeplitz:: +1. SUT create rule for the RSS function is toeplitz:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end @@ -3927,7 +3927,7 @@ Subcase: toeplitz/symmetric with same ptype different UL/DL 3. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. -4. DUT create rule for the RSS function is symmetric:: +4. SUT create rule for the RSS function is symmetric:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -3942,7 +3942,7 @@ Subcase: toeplitz/symmetric with same ptype different UL/DL 6. check each 2 pkts has same hash value. -7. DUT verify rule can be listed:: +7. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -3962,7 +3962,7 @@ so the following step don't need to be run. 11. repeat step 2, check the toeplitz also can work now. -12. DUT recreate rule for the RSS function is symmetric:: +12. SUT recreate rule for the RSS function is symmetric:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -3979,7 +3979,7 @@ so the following step don't need to be run. Subcase: toeplitz/symmetric with different pattern -------------------------------------------------- -1. DUT create rule for the RSS function is toeplitz:: +1. SUT create rule for the RSS function is toeplitz:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / udp / end actions rss types ipv4-udp l3-src-only l4-src-only end key_len 0 queues end / end @@ -3992,7 +3992,7 @@ Subcase: toeplitz/symmetric with different pattern 3. check packet 2 and 3 has different hash value with packet 1, packet 4 has same hash value with packet 1. -4. DUT create rule for the RSS function is symmetric:: +4. SUT create rule for the RSS function is symmetric:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end @@ -4007,7 +4007,7 @@ Subcase: toeplitz/symmetric with different pattern 6. check each 2 pkts has same hash value. -7. DUT verify rule can be listed:: +7. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -4027,7 +4027,7 @@ so the following step don't need to be run. 11. repeat step 2, check the toeplitz also can work now. -12. DUT recreate rule for the RSS function is symmetric:: +12. SUT recreate rule for the RSS function is symmetric:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end @@ -4044,7 +4044,7 @@ so the following step don't need to be run. Subcase: toeplitz/symmetric with different pattern (with/without UL/DL) ----------------------------------------------------------------------- -1. DUT create rule for the RSS function is toeplitz:: +1. SUT create rule for the RSS function is toeplitz:: flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end @@ -4056,7 +4056,7 @@ Subcase: toeplitz/symmetric with different pattern (with/without UL/DL) 3. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. -4. DUT create rule for the same pattern without UL/DL:: +4. SUT create rule for the same pattern without UL/DL:: flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc / ipv6 / tcp / end actions rss types ipv6-tcp l4-src-only end key_len 0 queues end / end @@ -4065,7 +4065,7 @@ Subcase: toeplitz/symmetric with different pattern (with/without UL/DL) sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", dst="2222:3333:4444:5555:6666:7777:8888:9999")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", dst="2222:3333:4444:5555:6666:7777:8888:9999")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:1111", dst="2222:3333:4444:5555:6666:7777:8888:1111")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") - + sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", dst="2222:3333:4444:5555:6666:7777:8888:9999")/TCP(sport=22, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888", dst="2222:3333:4444:5555:6666:7777:8888:9999")/TCP(sport=12, dport=23)/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src="1111:2222:3333:4444:5555:6666:7777:1111", dst="2222:3333:4444:5555:6666:7777:8888:1111")/TCP(sport=22, dport=13)/("X"*480)], iface="enp134s0f0") @@ -4078,7 +4078,7 @@ Subcase: toeplitz/symmetric with different pattern (with/without UL/DL) check packet 5 has different hash value with packet 4, packet 6 has same hash value with packet 4. check packet 8 has different hash value with packet 7, packet 9 has same hash value with packet 7. -7. DUT verify rule can be listed:: +7. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -4125,7 +4125,7 @@ Subcase: add/delete IPV4_GTPU_DL_IPV4 rules ------------------------------------------- 1. create/delete IPV4_GTPU_DL_IPV4 rule for 100 times:: - flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end flow destroy 0 rule 0 2. create the rule again, and list the rule:: @@ -4139,5 +4139,5 @@ Subcase: add/delete IPV4_GTPU_DL_IPV4 rules sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.0.2")/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.0.1", dst="192.168.10.2")/("X"*480)], iface="enp134s0f0") sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src="192.168.10.1", dst="192.168.0.2")/("X"*480)], iface="enp134s0f0") - + 4. check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. diff --git a/test_plans/ice_advanced_iavf_rss_pppol2tpoudp_test_plan.rst b/test_plans/ice_advanced_iavf_rss_pppol2tpoudp_test_plan.rst index b88e5a26..d184a66a 100644 --- a/test_plans/ice_advanced_iavf_rss_pppol2tpoudp_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_pppol2tpoudp_test_plan.rst @@ -30,7 +30,7 @@ Prerequisites 3. load PPPoL2TPv2oUDP package -4. create a VF from a PF in DUT, set mac address for thi VF:: +4. create a VF from a PF in SUT, set mac address for this VF:: echo 1 > /sys/bus/pci/devices/0000\:3b\:00.0/sriov_numvfs ip link set enp59s0f0 vf 0 mac 00:11:22:33:44:55 @@ -44,7 +44,7 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -6. Launch the testpmd to configuration queue of rx and tx number 16 in DUT:: +6. Launch the testpmd to configuration queue of rx and tx number 16 in SUT:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -a 0000:3b:01.0 -- -i --disable-rss --rxq=16 --txq=16 --rxd=384 --txd=384 testpmd>set fwd rxonly @@ -3074,7 +3074,7 @@ Test case 10: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_S flow create 0 ingress pattern eth / ipv4 / udp / l2tpv2 type data_s / end actions rss types eth l2-src-only end key_len 0 queues end / end - check there is a rss rule listed successfully. + check there is a rss rule listed successfully. 3. send a basic hit pattern packet,record the hash value:: diff --git a/test_plans/ice_advanced_iavf_rss_test_plan.rst b/test_plans/ice_advanced_iavf_rss_test_plan.rst index d7d43c3d..752c29a4 100644 --- a/test_plans/ice_advanced_iavf_rss_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_test_plan.rst @@ -305,12 +305,12 @@ Prerequisites This rss feature designed for Intel® Ethernet 800 Series NIC 25G and 100g, so below the case only support Intel® Ethernet 800 Series nic. -3. create a VF from a PF in DUT, set mac address for thi VF:: +3. create a VF from a PF in SUT, set mac address for this VF:: echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55 -4. bind the VF to dpdk driver in DUT:: +4. bind the VF to dpdk driver in SUT:: modprobe vfio-pci usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:01.0 @@ -319,7 +319,7 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -5. Launch the testpmd to configuration queue of rx and tx number 16 in DUT:: +5. Launch the testpmd to configuration queue of rx and tx number 16 in SUT:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -a 0000:18:01.0 -- -i --rxq=16 --txq=16 testpmd>set fwd rxonly @@ -2949,14 +2949,14 @@ Test case: Set HW csum, flow rule does not impact RX checksum and TX checksum set verbose 1 start -3. Capture the tx packet at tester port and check checksum values same as expect pkts:: +3. Capture the tx packet at TG port and check checksum values same as expect pkts:: take a IPV4 for example: p = Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48) p.show2() expect pkts checksum value: chksum= 0x3b0f - tcpdump -i ens7 'ether src 40:a6:b7:0b:76:28 and ether[12:2] != 0x88cc' -Q in -w /tmp/tester/sniff_ens7.pcap -c 7 + tcpdump -i ens7 'ether src 40:a6:b7:0b:76:28 and ether[12:2] != 0x88cc' -Q in -w /tmp/tg/sniff_ens7.pcap -c 7 4. Send packets:: diff --git a/test_plans/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst b/test_plans/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst index 2acf665f..5aefcb09 100644 --- a/test_plans/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst +++ b/test_plans/ice_advanced_iavf_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst @@ -74,12 +74,12 @@ Prerequisites rmmod ice insmod ice.ko -4. create a VF from a PF in DUT, set mac address for thi VF:: +4. create a VF from a PF in SUT, set mac address for this VF:: echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55 -5. bind the VF to dpdk driver in DUT:: +5. bind the VF to dpdk driver in SUT:: modprobe vfio-pci usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:01.0 @@ -88,13 +88,13 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -6. Launch the testpmd to configuration queue of rx and tx number 16 in DUT:: +6. Launch the testpmd to configuration queue of rx and tx number 16 in SUT:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -a 0000:18:01.0 -- -i --rxq=16 --txq=16 testpmd>set fwd rxonly testpmd>set verbose 1 -7. on tester side, copy the layer python file to /root:: +7. on TG side, copy the layer python file to /root:: cp pfcp.py to /root diff --git a/test_plans/ice_advanced_rss_gtpogre_test_plan.rst b/test_plans/ice_advanced_rss_gtpogre_test_plan.rst index 32073a5d..9218d89d 100644 --- a/test_plans/ice_advanced_rss_gtpogre_test_plan.rst +++ b/test_plans/ice_advanced_rss_gtpogre_test_plan.rst @@ -162,7 +162,7 @@ Prerequisites 3. Copy gtpogre pkg to /lib/firmware/updates/intel/ice/ddp/ice.pkg Then reload ice driver -4. bind the Intel® Ethernet 800 Series port to dpdk driver in DUT:: +4. bind the Intel® Ethernet 800 Series port to dpdk driver in SUT:: modprobe vfio-pci usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:3b:00.0 @@ -171,7 +171,7 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -5. Launch the testpmd to configuration queue of rx and tx number 64 in DUT:: +5. Launch the testpmd to configuration queue of rx and tx number 64 in SUT:: testpmd>./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -- -i --rxq=64 --txq=64 --disable-rss --port-topology=loop testpmd>set fwd rxonly @@ -208,7 +208,7 @@ Prerequisites +#endif #endif -7. start scapy and configuration NVGRE and GTP profile in tester +7. start scapy and configuration NVGRE and GTP profile in TG scapy:: >>> import sys diff --git a/test_plans/ice_advanced_rss_gtpu_test_plan.rst b/test_plans/ice_advanced_rss_gtpu_test_plan.rst index 216b2e56..2059bcb4 100644 --- a/test_plans/ice_advanced_rss_gtpu_test_plan.rst +++ b/test_plans/ice_advanced_rss_gtpu_test_plan.rst @@ -154,7 +154,7 @@ Prerequisites This rss feature designed for Intel® Ethernet 800 Series NIC 25G and 100g, so below the case only support Intel® Ethernet 800 Series nic. -3. bind the Intel® Ethernet 800 Series port to dpdk driver in DUT:: +3. bind the Intel® Ethernet 800 Series port to dpdk driver in SUT:: modprobe vfio-pci usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:3b:00.0 @@ -163,13 +163,13 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -4. Launch the testpmd to configuration queue of rx and tx number 64 in DUT:: +4. Launch the testpmd to configuration queue of rx and tx number 64 in SUT:: testpmd>./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -- -i --rxq=64 --txq=64 --disable-rss --port-topology=loop testpmd>set fwd rxonly testpmd>set verbose 1 -5. start scapy and configuration NVGRE and GTP profile in tester +5. start scapy and configuration NVGRE and GTP profile in TG scapy:: >>> import sys @@ -1491,7 +1491,7 @@ reconfig all the cases of "Pattern: outer ipv4 + inner ipv4" negative case ============= -Subcase: invalid input set +Subcase: invalid input set -------------------------- 1. create rules with invalid input set:: @@ -2213,7 +2213,7 @@ Subcase: toeplitz/symmetric with same pattern check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. -3. create a symmetric rule:: +3. create a symmetric rule:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -2224,7 +2224,7 @@ Subcase: toeplitz/symmetric with same pattern check the two packets have same hash value. -5. DUT verify rule can be listed:: +5. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -2269,7 +2269,7 @@ Subcase: toeplitz/symmetric with same pattern (switched rule order) check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. -5. DUT verify rule can be listed:: +5. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -2314,7 +2314,7 @@ Subcase: toeplitz/symmetric with different pattern (different UL/DL) check the two packets have same hash value. -5. DUT verify rule can be listed:: +5. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -2334,7 +2334,7 @@ so the following step don't need to be run. 9. repeat step 2, check the toeplitz also can work now. -10. DUT re-create the symmetric rule:: +10. SUT re-create the symmetric rule:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -2375,7 +2375,7 @@ Subcase: toeplitz/symmetric with different pattern (with/without UL/DL) check the two packets have same hash value. -5. DUT verify rule can be listed:: +5. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -2396,7 +2396,7 @@ so the following step don't need to be run. 9. repeat step 2, check the toeplitz can work for both UL and DL packets. -10. DUT re-create the symmetric rule:: +10. SUT re-create the symmetric rule:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end @@ -2436,7 +2436,7 @@ Subcase: toeplitz/symmetric with different pattern check the two packets have same hash value. -5. DUT verify rule can be listed:: +5. SUT verify rule can be listed:: testpmd> flow list 0 ID Group Prio Attr Rule @@ -2456,7 +2456,7 @@ so the following step don't need to be run. 9. repeat step 2, check the toeplitz also can work now. -10. DUT re-create a symmetric rule:: +10. SUT re-create a symmetric rule:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end @@ -2580,7 +2580,7 @@ MAC_IPV4_GTPU_EH_DL_IPV4_UDP:: sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.1", src="192.168.0.2")/UDP()/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(dst="192.168.0.2", src="192.168.0.1")/UDP()/("X"*480)],iface="enp216s0f0") - + not hit pattern with switched value of input set in the rule: MAC_IPV4_GTPU_EH_UL_IPV4 nonfrag:: diff --git a/test_plans/ice_advanced_rss_pppoe_test_plan.rst b/test_plans/ice_advanced_rss_pppoe_test_plan.rst index da835632..78f6a7d1 100644 --- a/test_plans/ice_advanced_rss_pppoe_test_plan.rst +++ b/test_plans/ice_advanced_rss_pppoe_test_plan.rst @@ -94,7 +94,7 @@ Prerequisites ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:00.0 -5. Launch the testpmd in DUT for cases with toeplitz hash function:: +5. Launch the testpmd in SUT for cases with toeplitz hash function:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:00.0 -- -i --rxq=16 --txq=16 --disable-rss testpmd> port config 0 rss-hash-key ipv4 1b9d58a4b961d9cd1c56ad1621c3ad51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a @@ -106,7 +106,7 @@ Prerequisites ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:00.0 -- -i --rxq=16 --txq=16 -6. on tester side, copy the layer python file to /root:: +6. on TG side, copy the layer python file to /root:: cp pfcp.py to /root diff --git a/test_plans/ice_advanced_rss_test_plan.rst b/test_plans/ice_advanced_rss_test_plan.rst index 4078b362..3ff5d0a1 100644 --- a/test_plans/ice_advanced_rss_test_plan.rst +++ b/test_plans/ice_advanced_rss_test_plan.rst @@ -273,7 +273,7 @@ Prerequisites This rss feature designed for Intel® Ethernet 800 Series NIC 25G and 100g, so below the case only support Intel® Ethernet 800 Series nic. -3. bind the Intel® Ethernet 800 Series port to dpdk driver in DUT:: +3. bind the Intel® Ethernet 800 Series port to dpdk driver in SUT:: modprobe vfio-pci usertools/dpdk-devbind.py --force --bind=vfio-pci 0000:18:00.0 @@ -282,7 +282,7 @@ Prerequisites The kernel must be >= 3.6+ and VT-d must be enabled in bios. -4. Launch the testpmd to configuration queue of rx and tx number 64 in DUT:: +4. Launch the testpmd to configuration queue of rx and tx number 64 in SUT:: testpmd>./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xff -n 4 -- -i --rxq=64 --txq=64 --port-topology=loop @@ -293,7 +293,7 @@ Prerequisites testpmd>set verbose 1 testpmd>rx_vxlan_port add 4789 0 -5. start scapy and configuration NVGRE and GTP profile in tester +5. start scapy and configuration NVGRE and GTP profile in TG scapy:: >>> import sys @@ -2366,14 +2366,14 @@ Test case: Set HW csum, flow rule does not impact RX checksum and TX checksum set verbose 1 start -3. Capture the tx packet at tester port and check checksum values same as expect pkts:: +3. Capture the tx packet at TG port and check checksum values same as expect pkts:: take a IPV4 for example: p = Ether(dst="00:11:22:33:44:55", src="52:00:00:00:00:00")/IP(src="192.168.0.1")/("X"*48) p.show2() expect pkts checksum value: chksum= 0x3b0f - tcpdump -i ens7 'ether src 40:a6:b7:0b:76:28 and ether[12:2] != 0x88cc' -Q in -w /tmp/tester/sniff_ens7.pcap -c 7 + tcpdump -i ens7 'ether src 40:a6:b7:0b:76:28 and ether[12:2] != 0x88cc' -Q in -w /tmp/tg/sniff_ens7.pcap -c 7 4. Send packets:: diff --git a/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst b/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst index f365784e..96fb7ab4 100644 --- a/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst +++ b/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst @@ -85,7 +85,7 @@ Prerequisites ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:00.0 -5. Launch the testpmd in DUT for cases with toeplitz hash function:: +5. Launch the testpmd in SUT for cases with toeplitz hash function:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:00.0 -- -i --rxq=16 --txq=16 --disable-rss testpmd> port config 0 rss-hash-key ipv4 1b9d58a4b961d9cd1c56ad1621c3ad51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a @@ -97,7 +97,7 @@ Prerequisites ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:18:00.0 -- -i --rxq=16 --txq=16 -6. on tester side, copy the layer python file to /root:: +6. on TG side, copy the layer python file to /root:: cp pfcp.py to /root diff --git a/test_plans/ice_dcf_acl_filter_test_plan.rst b/test_plans/ice_dcf_acl_filter_test_plan.rst index a0022bf7..37d7bce6 100644 --- a/test_plans/ice_dcf_acl_filter_test_plan.rst +++ b/test_plans/ice_dcf_acl_filter_test_plan.rst @@ -37,7 +37,7 @@ Prerequisites CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -532,14 +532,14 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most. sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.1.0", dst="192.168.100.2")/UDP(sport=8010,dport=8017)/Raw(load='X'*30)], iface="enp134s0f1") check the packet can't be received by VF1. stop the forward:: - + ---------------------- Forward statistics for port 1 ---------------------- RX-packets: 0 RX-dropped: 0 RX-total: 0 TX-packets: 0 TX-dropped: 0 TX-total: 0 ---------------------------------------------------------------------------- 8. delete the rule 256 and 257:: - + flow destroy 0 rule 256 flow destroy 0 rule 257 @@ -552,7 +552,7 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most. 9. create the rule in the step6 again, check the rule can be created as acl rule successfully. list the rules, there are rule 0-256 listed. - + 10.send packet2 again, check the packet dropped. stop the forward:: ---------------------- Forward statistics for port 1 ---------------------- @@ -575,7 +575,7 @@ Test Case 6: max entry number ipv4-other flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.255 / end actions drop / end 3. create 64 ipv4-other ACL rules:: - + flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.1 src mask 255.255.0.255 / end actions drop / end flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.2 src mask 255.255.0.255 / end actions drop / end flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.3 src mask 255.255.0.255 / end actions drop / end @@ -609,12 +609,12 @@ Test Case 6: max entry number ipv4-other sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.0.2", dst="192.168.1.2")/Raw(load='X'*30)], iface="enp134s0f1") check the packet can't be received by vf1. stop forward:: - + ---------------------- Forward statistics for port 1 ---------------------- RX-packets: 0 RX-dropped: 0 RX-total: 0 TX-packets: 0 TX-dropped: 0 TX-total: 0 ---------------------------------------------------------------------------- - + 8. delete the rule 64 and 65:: flow destroy 0 rule 64 diff --git a/test_plans/ice_dcf_date_path_test_plan.rst b/test_plans/ice_dcf_date_path_test_plan.rst index c6f8014b..c4b4704c 100644 --- a/test_plans/ice_dcf_date_path_test_plan.rst +++ b/test_plans/ice_dcf_date_path_test_plan.rst @@ -34,12 +34,12 @@ Launch tcpdump to sniffer the packets from DCF :: tcpdump -i enp24s0f1 -vvv -Q in -Send packets from tester(scapy) to the VF by MAC address(D2:6B:4C:EB:1C:26) :: +Send packets from TG(scapy) to the VF by MAC address(D2:6B:4C:EB:1C:26) :: p = Ether(dst="D2:6B:4C:EB:1C:26", src="00:11:22:33:44:55")/IP(src="192.168.1.1",dst="192.168.1.3")/Raw('x'*64) sendp(p, iface=intf, count=100) -Expect tester can get packets which loopbacked by DCF. +Expect TG can get packets which loopbacked by DCF. Test Case: Check default rss for L3 @@ -55,10 +55,10 @@ Set rxonly forward mode :: set fwd rxonly set verbose 1 start - + Send a series packets to check if DCF RSS is correct for IPv4 :: - intf="enp175s0f0" + intf="enp175s0f0" sendp(Ether(dst="D2:6B:4C:EB:1C:26", src="00:11:22:33:44:55")/IP(src="192.168.1.1", dst="192.168.1.2")/Raw('x'*64), iface=intf) sendp(Ether(dst="D2:6B:4C:EB:1C:26", src="00:11:22:33:44:55")/IP(src="192.168.1.1", dst="192.168.1.3")/Raw('x'*64), iface=intf) sendp(Ether(dst="D2:6B:4C:EB:1C:26", src="00:11:22:33:44:55")/IP(src="192.168.1.3", dst="192.168.1.2")/Raw('x'*64), iface=intf) @@ -175,7 +175,7 @@ Set rxonly forward mode :: start Send a packet, check the DCF can't recieve the packet (Dest mac address is not DCF's mac) :: - + sendp([Ether(dst="68:05:ca:8d:ed:a8")/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1518", dst="CDCD:910A:2222:5498:8475:1111:3900:2020",tc=3)/TCP(sport=25,dport=23)/("X"*480)], iface=intf, count=1) Create a rule to DCF :: @@ -198,6 +198,6 @@ Send the packet agiain, check DCF can't recieve the packet :: Test Case: Measure performance of DCF interface =============================================== -The steps are same to iAVF performance test, a slight difference on +The steps are same to iAVF performance test, a slight difference on launching testpmd devarg. DCF need cap=dcf option. Expect the performance is same to iAVF diff --git a/test_plans/ice_dcf_flow_priority_test_plan.rst b/test_plans/ice_dcf_flow_priority_test_plan.rst index ce780dc5..e24f69ce 100644 --- a/test_plans/ice_dcf_flow_priority_test_plan.rst +++ b/test_plans/ice_dcf_flow_priority_test_plan.rst @@ -35,7 +35,7 @@ Prerequisites CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s diff --git a/test_plans/ice_dcf_qos_test_plan.rst b/test_plans/ice_dcf_qos_test_plan.rst index 94ffa49d..c70f9569 100644 --- a/test_plans/ice_dcf_qos_test_plan.rst +++ b/test_plans/ice_dcf_qos_test_plan.rst @@ -58,7 +58,7 @@ Prerequisites The connection is as below table:: +---------------------------------+ - | DUT | IXIA | + | SUT | IXIA | +=================================+ | 100G | | NIC-1,Port-1 --- IXIA, Port-1 | @@ -134,25 +134,25 @@ when the scheduler use strict priority mode in different user priority. 1. DCB setting, set 3 TCs bandwidth with strict mode:: - ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 0,0,0,0,0,0,0,0 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 0,0,0,0,0,0,0,0 --pfc 0,0,0,0,0,0,0,0 ifconfig ens785f0 up 2. Start testpmd with 100G setting, then set profile and TC mapping:: port stop all - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 port tm hierarchy commit 0 no add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 @@ -189,16 +189,16 @@ when the scheduler use strict priority mode in different user priority. port stop all add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 port tm hierarchy commit 0 no add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -237,8 +237,8 @@ when the scheduler use ETS mode in different user priority. 1. DCB setting, set 2 TCs bandwidth with ets mode:: - ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,0,1,1,1,1 --tcbw 20,80,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 - ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,0,1,1,1,1 --tcbw 20,80,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,0,1,1,1,1 --tcbw 20,80,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,0,1,1,1,1 --tcbw 20,80,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 ifconfig ens785f0 up ifconfig ens802f0 up @@ -247,23 +247,23 @@ when the scheduler use ETS mode in different user priority. set portlist 0,2,1,3 show config fwd port stop all - add port tm node shaper profile 0 1 10000000 0 4000000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 10000000 0 4000000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 0 yes - add port tm node shaper profile 2 1 10000000 0 1000000000 0 0 0 - add port tm nonleaf node 2 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 2 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 2 800 1000 0 1 1 -1 1 0 0 - add port tm leaf node 2 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 2 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 2 2 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 2 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 2 1 10000000 0 1000000000 0 0 0 + add port tm nonleaf node 2 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 2 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 2 800 1000 0 1 1 -1 1 0 0 + add port tm leaf node 2 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 2 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 2 2 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 2 3 800 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 2 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -461,21 +461,21 @@ Each VF's max rate is limited by the sum of peak_tb_rate of all TCs binded to it ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 2-10 -n 4 -a 18:01.0,cap=dcf -a 18:01.1 -a 18:01.2 -a 18:01.3 -- -i --txq=8 --rxq=8 --port-topology=loop --nb-cores=8 port stop all - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 -1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 3 800 0 1 2 -1 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 -1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 3 800 0 1 2 -1 0 0xffffffff 0 0 add port tm leaf node 0 4 800 0 1 2 2 0 0xffffffff 0 0 add port tm leaf node 0 5 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 6 700 0 1 2 -1 0 0xffffffff 0 0 - add port tm leaf node 0 7 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 8 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 6 700 0 1 2 -1 0 0xffffffff 0 0 + add port tm leaf node 0 7 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 8 700 0 1 2 2 0 0xffffffff 0 0 port tm hierarchy commit 0 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -550,27 +550,27 @@ Note: now, the cmit_tb_rate setting can't take work, it is not supported by kern set portlist 0,3,1,4,2,5 show config fwd port stop all - add port tm node shaper profile 0 1 100000000 0 4000000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 4 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 5 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 100000000 0 4000000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 4 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 5 800 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 0 no - add port tm node shaper profile 3 1 100000000 0 500000000 0 0 0 - add port tm nonleaf node 3 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 3 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 3 800 1000 0 1 1 -1 1 0 0 - add port tm leaf node 3 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 2 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 3 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 4 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 5 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 3 1 100000000 0 500000000 0 0 0 + add port tm nonleaf node 3 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 3 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 3 800 1000 0 1 1 -1 1 0 0 + add port tm leaf node 3 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 2 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 4 800 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 5 800 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 3 no add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -646,8 +646,8 @@ the proportion of the value of different TC is consistent to TC bandwitch distri 1. DCB setting, set 3 TCs bandwidth with ets mode:: - ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 - ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,1,2,0,0,0 --tcbw 10,30,60,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 2. Create 3 VFs on each pf:: @@ -668,35 +668,35 @@ the proportion of the value of different TC is consistent to TC bandwitch distri set portlist 0,3,1,4,2,5 show config fwd port stop all - add port tm node shaper profile 0 1 0 0 0 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 0 0 0 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 0 4 800 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 0 5 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 6 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 7 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 8 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 6 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 7 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 8 700 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 0 yes - add port tm node shaper profile 3 1 0 0 0 0 0 0 - add port tm nonleaf node 3 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 3 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 3 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 3 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 3 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 2 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 3 800 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 3 1 0 0 0 0 0 0 + add port tm nonleaf node 3 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 3 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 3 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 3 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 3 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 2 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 3 800 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 3 4 800 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 3 5 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 6 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 7 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 3 8 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 6 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 7 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 3 8 700 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 3 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -841,31 +841,31 @@ This case is to check QoS Tx side processing with max TC number set in strict pr port stop all add port tm node shaper profile 0 1 1000000 0 1780000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 600 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 500 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 400 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 300 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 200 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 1 0 0xffffffff 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 600 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 500 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 400 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 300 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 200 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 0 3 800 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 6 600 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 7 600 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 6 600 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 7 600 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 0 8 500 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 9 500 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 10 400 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 11 400 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 9 500 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 10 400 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 11 400 0 1 2 1 0 0xffffffff 0 0 add port tm leaf node 0 12 300 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 13 300 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 14 200 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 15 200 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 13 300 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 14 200 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 15 200 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 0 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -940,8 +940,8 @@ This case is to check QoS Tx side processing with max TC number set in ETS mode. 1. DCB setting, set 8 TCs bandwidth with ets mode:: - ./dcbgetset ens785f0 --ieee --up2tc 0,1,2,3,4,5,6,7 --tcbw 5,10,15,10,20,1,30,9 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 - ./dcbgetset ens802f0 --ieee --up2tc 0,1,2,3,4,5,6,7 --tcbw 5,10,15,10,20,1,30,9 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens785f0 --ieee --up2tc 0,1,2,3,4,5,6,7 --tcbw 5,10,15,10,20,1,30,9 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens802f0 --ieee --up2tc 0,1,2,3,4,5,6,7 --tcbw 5,10,15,10,20,1,30,9 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 2. Start testpmd with 10G setting:: @@ -1057,21 +1057,21 @@ This case is to check QoS Tx side processing with max TC number set in ETS mode. 4. Set profile of port2 as below:: - add port tm node shaper profile 2 1 1000000 0 100000000 0 0 0 - add port tm node shaper profile 2 2 1000000 0 250000000 0 0 0 - add port tm node shaper profile 2 3 1000000 0 100000000 0 0 0 + add port tm node shaper profile 2 1 1000000 0 100000000 0 0 0 + add port tm node shaper profile 2 2 1000000 0 250000000 0 0 0 + add port tm node shaper profile 2 3 1000000 0 100000000 0 0 0 Send the same 8 streams synchronously, check port3 stats, the Tx rate is 7.3Gbps. stop forward, check the tx rate, queue0-queue4 and queue6-7 can reach PIR(are limited by PIR), - queue5(corresponds to TC5) is the lowest priority (1% BW set by DCB), + queue5(corresponds to TC5) is the lowest priority (1% BW set by DCB), the rest rate are put to queue 5, may be more than 1% of whole throughput. 5. Set all the profile PIR=0:: - add port tm node shaper profile 2 1 0 0 0 0 0 0 - add port tm node shaper profile 2 2 0 0 0 0 0 0 - add port tm node shaper profile 2 3 0 0 0 0 0 0 + add port tm node shaper profile 2 1 0 0 0 0 0 0 + add port tm node shaper profile 2 2 0 0 0 0 0 0 + add port tm node shaper profile 2 3 0 0 0 0 0 0 Send the same 8 streams synchronously, check port3 stats, the Tx rate is 7.3Gbps. @@ -1083,8 +1083,8 @@ This case is to check QoS Tx side processing with min TC number set in ETS mode. 1. DCB setting, set 1 TC bandwidth with ets mode:: - ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,0,0,0,0,0 --tcbw 100,0,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 - ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,0,0,0,0,0 --tcbw 100,0,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens785f0 --ieee --up2tc 0,0,0,0,0,0,0,0 --tcbw 100,0,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 + ./dcbgetset ens802f0 --ieee --up2tc 0,0,0,0,0,0,0,0 --tcbw 100,0,0,0,0,0,0,0 --tsa 2,2,2,2,2,2,2,2 --pfc 0,0,0,0,0,0,0,0 2. Start testpmd with 10G setting:: @@ -1092,11 +1092,11 @@ This case is to check QoS Tx side processing with min TC number set in ETS mode. set portlist 0,2,1,3 show config fwd port stop all - add port tm node shaper profile 0 1 1000000 0 10000000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 1000000 0 10000000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 0 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -1109,11 +1109,11 @@ This case is to check QoS Tx side processing with min TC number set in ETS mode. add port tm leaf node 1 6 900 0 1 2 0 0 0xffffffff 0 0 add port tm leaf node 1 7 900 0 1 2 0 0 0xffffffff 0 0 port tm hierarchy commit 1 yes - add port tm node shaper profile 2 1 1000000 0 1000000000 0 0 0 - add port tm nonleaf node 2 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 2 900 1000 0 1 1 -1 1 0 0 - add port tm leaf node 2 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 2 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm node shaper profile 2 1 1000000 0 1000000000 0 0 0 + add port tm nonleaf node 2 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 2 900 1000 0 1 1 -1 1 0 0 + add port tm leaf node 2 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 2 1 900 0 1 2 1 0 0xffffffff 0 0 port tm hierarchy commit 2 yes add port tm nonleaf node 3 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 3 900 1000 0 1 1 0 1 0 0 @@ -1146,18 +1146,18 @@ The case is to check the support to query QoS settings. 2. Start testpmd with 100G setting, then set profile and TC mapping:: port stop all - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 port tm hierarchy commit 0 no add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 @@ -1322,19 +1322,19 @@ Subcase 1: Requested VF id is valid ----------------------------------- Set 3 VSIs, more than 2 VFs created:: - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 - node id: too many VSI for one TC (error 33) + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 900 0 1 2 1 0 0xffffffff 0 0 + node id: too many VSI for one TC (error 33) Subcase 2: Valid number of TCs for the target VF ------------------------------------------------ 1. Configured 2 TCs by DCB, but only set 1 TC node:: - add port tm node shaper profile 0 1 63000 0 12500000000 0 0 0 + add port tm node shaper profile 0 1 63000 0 12500000000 0 0 0 add port tm nonleaf node 0 1000000 -1 0 1 0 -1 1 0 0 add port tm nonleaf node 0 900000 1000000 0 1 1 -1 1 0 0 add port tm leaf node 0 0 900000 0 1 2 1 0 0xffffffff 0 0 @@ -1358,20 +1358,20 @@ Subcase 2: Valid number of TCs for the target VF 3. Add 1 profile, but use 2 profiles:: - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 shaper profile id field (node params): shaper profile not exist (error 23) Subcase 3: Valid Min and Max values ----------------------------------- 1. Min default value is 500Kbps:: - add port tm node shaper profile 0 1 62999 0 2000000 0 0 0 + add port tm node shaper profile 0 1 62999 0 2000000 0 0 0 add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 add port tm nonleaf node 0 1000000 -1 0 1 0 -1 1 0 0 add port tm nonleaf node 0 900000 1000000 0 1 1 -1 1 0 0 @@ -1467,7 +1467,7 @@ Subcase 3: Valid Min and Max values 4. Max BW cannot be 0 and must be greater than or equal to Min BW If set max BW to 0, there is not max rate limit:: - add port tm node shaper profile 0 1 0 0 0 0 0 0 + add port tm node shaper profile 0 1 0 0 0 0 0 0 add port tm nonleaf node 0 1000000 -1 0 1 0 -1 1 0 0 add port tm nonleaf node 0 900000 1000000 0 1 1 -1 1 0 0 add port tm nonleaf node 0 800000 1000000 0 1 1 -1 1 0 0 @@ -1637,24 +1637,24 @@ Run the below steps sequentially. 1. TC node number is more than TC enabled by lldptool:: - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 600 1000 0 1 1 -1 1 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 600 1000 0 1 1 -1 1 0 0 node id: too many TCs (error 33) 2. VF0's TC node number is more than TC enabled by lldptool:: - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 6 600 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 6 600 0 1 2 2 0 0xffffffff 0 0 parent node id: parent not exist (error 19) 3. VF1's TC node number is more than TC enabled by lldptool:: @@ -1710,18 +1710,18 @@ Subcase 5: Non-contiguous TC setting in queue mapping ----------------------------------------------------- 1. Set non-contiguous TC and queue mapping:: - add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 - add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 - add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 - add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 - add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 - add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 - add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 + add port tm node shaper profile 0 1 1000000 0 2000000 0 0 0 + add port tm node shaper profile 0 2 1000000 0 4000000 0 0 0 + add port tm nonleaf node 0 1000 -1 0 1 0 -1 1 0 0 + add port tm nonleaf node 0 900 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 800 1000 0 1 1 -1 1 0 0 + add port tm nonleaf node 0 700 1000 0 1 1 -1 1 0 0 + add port tm leaf node 0 0 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 1 900 0 1 2 1 0 0xffffffff 0 0 + add port tm leaf node 0 2 800 0 1 2 2 0 0xffffffff 0 0 add port tm leaf node 0 3 800 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 - add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 4 700 0 1 2 2 0 0xffffffff 0 0 + add port tm leaf node 0 5 700 0 1 2 2 0 0xffffffff 0 0 port tm hierarchy commit 0 yes add port tm nonleaf node 1 1000 -1 0 1 0 0 1 0 0 add port tm nonleaf node 1 900 1000 0 1 1 0 1 0 0 diff --git a/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst b/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst index edbf64d6..8172d7fc 100644 --- a/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst +++ b/test_plans/ice_dcf_switch_filter_gtpu_test_plan.rst @@ -107,7 +107,7 @@ Prerequisites CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s diff --git a/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst b/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst index 6017edcd..8c60d1a2 100644 --- a/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst +++ b/test_plans/ice_dcf_switch_filter_pppoe_test_plan.rst @@ -144,7 +144,7 @@ Prerequisites CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -181,7 +181,7 @@ Prerequisites check the VF0 driver is net_ice_dcf. -10. on tester side, copy the layer python file to /root:: +10. on TG side, copy the layer python file to /root:: cp pfcp.py to /root diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst index 0d38c218..0917c8cc 100644 --- a/test_plans/ice_dcf_switch_filter_test_plan.rst +++ b/test_plans/ice_dcf_switch_filter_test_plan.rst @@ -176,7 +176,7 @@ Prerequisites ninja -C x86_64-native-linuxapp-gcc -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -213,7 +213,7 @@ Prerequisites check the VF0 driver is net_ice_dcf. -10. on tester side, copy the layer python file to /root:: +10. on TG side, copy the layer python file to /root:: cp pfcp.py to /root @@ -1381,7 +1381,7 @@ Test case: MAC_IPV4_PFCP_NODE check the rule not exists in the list. -2. DUT create switch filter rules for MAC_IPV4_PFCP_NODE to VF1:: +2. SUT create switch filter rules for MAC_IPV4_PFCP_NODE to VF1:: flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end @@ -1429,7 +1429,7 @@ Test case: MAC_IPV4_PFCP_SESSION check the rule not exists in the list. -2. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION to VF2:: +2. SUT create switch filter rules for MAC_IPV4_PFCP_SESSION to VF2:: flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions vf id 2 / end @@ -1477,7 +1477,7 @@ Test case: MAC_IPV6_PFCP_NODE check the rule not exists in the list. -2. DUT create switch filter rules for MAC_IPV6_PFCP_NODE to VF3:: +2. SUT create switch filter rules for MAC_IPV6_PFCP_NODE to VF3:: flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions vf id 3 / end @@ -1525,7 +1525,7 @@ Test case: MAC_IPV6_PFCP_SESSION check the rule not exists in the list. -2. DUT create switch filter rules for MAC_IPV6_PFCP_SESSION to VF1:: +2. SUT create switch filter rules for MAC_IPV6_PFCP_SESSION to VF1:: flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions vf id 1 / end @@ -2471,7 +2471,7 @@ Subcase 3: add two rules with one rule's input set included in the other Subcase 4: different input set, same vf id ------------------------------------------ -1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1:: +1. SUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1:: testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end Flow rule #0 created @@ -2509,7 +2509,7 @@ Subcase 4: different input set, same vf id Subcase 5: different input set, different vf id ----------------------------------------------- -1. DUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1:: +1. SUT create switch filter rules for MAC_IPV4_PFCP_SESSION and MAC_IPV4_PFCP_NODE to VF1:: testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions vf id 1 / end Flow rule #0 created @@ -3247,7 +3247,7 @@ Subcase 2: DCF DROP IPV4 SRC SPEC MASK PACKAGES check the rules not exist in the list. send matched packets, check port can receive the packet. - + Subcase 3: DCF DROP NVGRE PACKAGES ---------------------------------- @@ -3335,7 +3335,7 @@ Subcase 4: DCF DROP PPOES PACKAGES check the rules not exist in the list. send matched packets, check port can receive the packet. - + Subcase 5: DCF DROP PFCP PACKAGES ---------------------------------- diff --git a/test_plans/ice_flow_priority_test_plan.rst b/test_plans/ice_flow_priority_test_plan.rst index 14b7a6f8..dddc1d69 100644 --- a/test_plans/ice_flow_priority_test_plan.rst +++ b/test_plans/ice_flow_priority_test_plan.rst @@ -7,12 +7,11 @@ ICE Support Flow Priority in PF Description =========== -In Intel® Ethernet 800 Series PF rte_flow distribution mode(non-pipeline mode), a flow -with priority = 1 will be programmed into switch filter, a flow with priority = 0 will -be programmed into switch first then fdir. Currently only support priority 0 and 1. 1 -means low priority and 0 means high priority. When looking up rule table, matched pkt -will hit the high priority rule firstly, it will hit the low priority rule only when -there is no high priority rule exist. +In Intel® Ethernet 800 Series PF rte_flow distribution mode(non-pipeline mode), a flow with priority = 1 will be programmed into switch filter, +a flow with priority = 0 will be programmed into switch first then fdir. +Currently only support priority 0 and 1. 1 means low priority and 0 means high priority. +When looking up rule table, matched pkt will hit the high priority rule firstly, +it will hit the low priority rule only when there is no high priority rule exist. Prerequisites @@ -39,7 +38,7 @@ General Set Up # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static # ninja -C -j 110 -2. Get the pci device id and interface of DUT and tester. +2. Get the pci device id and interface of NIC ports. For example, 0000:18:00.0 and 0000:18:00.1 is pci device id, ens785f0 and ens785f1 is interface:: @@ -48,11 +47,11 @@ General Set Up 0000:18:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci 0000:18:00.1 'Device 159b' if=ens785f1 drv=ice unused=vfio-pci -3. Bind the DUT port to dpdk:: +3. Bind the NIC port to dpdk:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci -4. Launch the userland ``testpmd`` application on DUT as follows and :: +4. Launch the userland ``testpmd`` application on SUT as follows and :: /app/dpdk-testpmd -- -i --rxq= --txq= testpmd> set fwd rxonly @@ -60,7 +59,7 @@ General Set Up testpmd> rx_vxlan_port add 4789 0 testpmd> start -..note:: +..note:: For , you can use "-c 0xf -n 1", you can also refer to testpmd doc for other setings. @@ -273,15 +272,15 @@ rules:: matched packets:: - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") mismatched packets:: - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") - >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") + >>> sendp([Ether(dst="")/IP(src="",dst="",tos=,ttl=)/("X"*480)], iface="") Test Case 2: MAC_IPV4_UDP_PAY @@ -293,15 +292,15 @@ rules:: matched packets:: - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") - >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") + >>> sendp([Ether()/IP(src="",dst="",tos=)/UDP(sport=,dport=)/Raw("x"*80)],iface="") Test Case 3: MAC_IPV6_PAY @@ -313,15 +312,15 @@ rules:: matched packets:: - >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") - >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") mismatched packets:: - >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") - >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") - >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") - >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") + >>> sendp([Ether()/IPv6(src="", dst="")/IPv6ExtHdrFragment()/("X"*480)], iface="") Test Case 4: MAC_IPV6_TCP @@ -333,14 +332,14 @@ rules:: matched packets:: - >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=23)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=23)/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IPv6(src="",dst="",tc=)/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) Test Case 5: MAC_IPV4_VXLAN_IPV4_FRAG @@ -352,13 +351,13 @@ rules:: matched packets:: - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="",frag=5)/Raw("x"*80)],iface="",count=1) Test Case 6: MAC_IPV4_VXLAN_IPV4_PAY @@ -370,18 +369,18 @@ rules:: matched packets:: - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP()/UDP()/VXLAN()/Ether()/IP(src="", dst="")/TCP()/Raw("x"*80)],iface="",count=1) Test Case 7: MAC_IPV4_NVGRE_MAC_IPV4_UDP_PAY @@ -393,17 +392,17 @@ rules:: matched packets:: - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) mismatched packets:: - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/UDP(sport=,dport=)/Raw("x"*80)], iface="", count=1) Test Case 8: MAC_IPV4_NVGRE_MAC_IPV4_TCP @@ -415,17 +414,17 @@ rules:: matched packets:: - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="2", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether()/IP(dst="")/NVGRE(TNI=)/Ether(dst="")/IP(src="2", dst="")/TCP(sport=,dport=)/Raw("x"*80)],iface="",count=1) Test Case 9: ethertype filter_PPPOED @@ -437,13 +436,13 @@ rules:: matched packets:: - >>> sendp([Ether(dst="", type=)/Raw("x" *80)],iface="",count=1) - >>> sendp([Ether(dst="")/PPPoED()/Raw("x" *80)],iface="",count=1) + >>> sendp([Ether(dst="", type=)/Raw("x" *80)],iface="",count=1) + >>> sendp([Ether(dst="")/PPPoED()/Raw("x" *80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="", type=)/Raw("x" *80)],iface="",count=1) - >>> sendp([Ether(dst="")/PPPoE()/Raw("x" *80)],iface="",count=1) + >>> sendp([Ether(dst="", type=)/Raw("x" *80)],iface="",count=1) + >>> sendp([Ether(dst="")/PPPoE()/Raw("x" *80)],iface="",count=1) Test Case 10: MAC_VLAN_PPPOE_IPV4_PAY_session_id_proto_id @@ -455,14 +454,14 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) Test Case 11: MAC_VLAN_PPPOE_IPV6_PAY_session_id_proto_id @@ -474,14 +473,14 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) Test Case 12: MAC_PPPOE_IPV4_PAY_IP_address @@ -493,12 +492,12 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=3)/PPP(proto=0x0021)/IP(src="", dst="")/Raw("x"*80)],iface="",count=1) Test Case 13: MAC_PPPOE_IPV6_UDP_PAY @@ -510,13 +509,13 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/UDP(sport=,dport=)/Raw("x" * 80)],iface="",count=1) Test Case 14: MAC_VLAN_PPPOE_IPV4_TCP_PAY_non_src_dst_port @@ -528,15 +527,15 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/UDP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/TCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/UDP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP(src="", dst="")/Raw("x" * 80)],iface="",count=1) Test Case 15: MAC_VLAN_PPPOE_IPV6_PAY_IP_address @@ -548,12 +547,12 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IPv6(src="", dst="")/Raw("x"*80)],iface="",count=1) Test Case 16: MAC_PPPOE_LCP_PAY @@ -565,13 +564,13 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) Test Case 17: MAC_PPPOE_IPCP_PAY @@ -583,13 +582,13 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) Test Case 18: MAC_VLAN_PPPOE_LCP_PAY @@ -601,14 +600,14 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_LCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) Test Case 19: MAC_VLAN_PPPOE_IPCP_PAY @@ -620,14 +619,14 @@ rules:: matched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) mismatched packets:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/PPP_IPCP()/Raw("x" * 80)],iface="",count=1) + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8864)/PPPoE(sessionid=)/PPP(proto=)/IP()/Raw("x" * 80)],iface="",count=1) Test Case 20: check flow priority filter @@ -676,7 +675,7 @@ Subcase 1: same pattern/input set/action different priority 2. send matched pkts and check queue 3 receive this pkt:: - >>> sendp([Ether(dst="")/IP(src="",dst="")/TCP()/("X"*480)], iface="", count=1) + >>> sendp([Ether(dst="")/IP(src="",dst="")/TCP()/("X"*480)], iface="", count=1) 3. destroy rules:: @@ -706,7 +705,7 @@ Subcase 3: some rules overlap 3. send pkt which match rule 0 and rule 1, check the pkt can be received by queue 3:: - >>> sendp([Ether(type=0x8100)/Dot1Q(vlan=1,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(proto=0x21)/IP()/UDP(dport=23)/("X"*480)], iface="") + >>> sendp([Ether(type=0x8100)/Dot1Q(vlan=1,type=0x8100)/Dot1Q(vlan=0x2,type=0x8864)/PPPoE(sessionid=0x1)/PPP(proto=0x21)/IP()/UDP(dport=23)/("X"*480)], iface="") 4. destroy rule 0, repeat step 3 and check the pkt can be received by queue 2:: @@ -714,7 +713,7 @@ Subcase 3: some rules overlap 5. send pkt which match rule 2 and rule 3, check the pkt can be received by queue 1 or 2:: - >>> sendp([Ether(dst="00:00:00:01:03:13")/Dot1Q(vlan=1)/Dot1Q(vlan=12)/Raw("x"*480)], iface="", count=1) + >>> sendp([Ether(dst="00:00:00:01:03:13")/Dot1Q(vlan=1)/Dot1Q(vlan=12)/Raw("x"*480)], iface="", count=1) 6. destroy rule 3, repeat step 5 and check the pkt can be received by queue 4:: @@ -722,7 +721,7 @@ Subcase 3: some rules overlap 7. send pkt which match rule 4 and rule 5, check the pkt will be received by queue 8:: - >>> sendp([Ether(dst="00:00:00:01:03:03")/Dot1Q(vlan=1)/Dot1Q(vlan=2)/Raw("x"*480)], iface="", count=1) + >>> sendp([Ether(dst="00:00:00:01:03:03")/Dot1Q(vlan=1)/Dot1Q(vlan=2)/Raw("x"*480)], iface="", count=1) 8. destroy rule 4, repeat step 7 and check the pkts can be received by queue 4:: diff --git a/test_plans/ice_iavf_fdir_gtpogre_test_plan.rst b/test_plans/ice_iavf_fdir_gtpogre_test_plan.rst index 8e0d0ca9..4c7e050b 100644 --- a/test_plans/ice_iavf_fdir_gtpogre_test_plan.rst +++ b/test_plans/ice_iavf_fdir_gtpogre_test_plan.rst @@ -45,7 +45,7 @@ Prerequisites CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -81,7 +81,7 @@ Prerequisites testpmd> set verbose 1 testpmd> start -10. start scapy and configuration GTP profile in tester +10. start scapy and configuration GTP profile in TG scapy:: >>> import sys diff --git a/test_plans/ice_iavf_fdir_pppol2tpoudp_test_plan.rst b/test_plans/ice_iavf_fdir_pppol2tpoudp_test_plan.rst index 8de538cc..10253d35 100644 --- a/test_plans/ice_iavf_fdir_pppol2tpoudp_test_plan.rst +++ b/test_plans/ice_iavf_fdir_pppol2tpoudp_test_plan.rst @@ -42,7 +42,7 @@ General set up # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static # ninja -C -j 110 -3. Get the pci device id and interface of DUT and tester. +3. Get the pci device id and interface of NIC ports. For example, 0000:3b:00.0 and 0000:af:00.0 is pci device id, ens785f0 and ens260f0 is interface:: @@ -56,11 +56,11 @@ General set up # echo 1 > /sys/bus/pci/devices/0000:3b:00.0/sriov_numvfs # ip link set ens785f0 vf 0 mac 00:11:22:33:44:55 -5. Bind the DUT port to dpdk:: +5. Bind the NIC port to dpdk:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci -6. Launch the userland ``testpmd`` application on DUT as follows and :: +6. Launch the userland ``testpmd`` application on SUT as follows and :: /app/dpdk-testpmd -- -i --rxq= --txq= testpmd> set fwd rxonly @@ -116,13 +116,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") Subcase 2: eth_l2_src_only_MAC_IPV4_L2TPV2_CONTROL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -132,13 +132,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") Test case 2: MAC_IPV6_L2TPV2_CONTROL ------------------------------------ @@ -152,13 +152,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") Subcase 2: eth_l2_src_only_MAC_IPV6_L2TPV2_CONTROL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -168,13 +168,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0xc80,len=12,session_id=)], iface="") Test case 3: MAC_IPV4_L2TPV2 ---------------------------- @@ -188,13 +188,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") Subcase 2: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -204,13 +204,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") Subcase 3: l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -220,13 +220,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") Subcase 4: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -236,13 +236,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") Subcase 5: l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -252,14 +252,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + Subcase 6: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rules:: @@ -268,13 +268,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") Subcase 7: l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -284,13 +284,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") Subcase 8: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -300,13 +300,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") Subcase 9: l2tpv2_session_id_MAC_IPV4_L2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -316,13 +316,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") Subcase 10: eth_l2_src_only_MAC_IPV4_L2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -332,15 +332,15 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - -Test case 4: MAC_IPV6_L2TPV2 + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + +Test case 4: MAC_IPV6_L2TPV2 ---------------------------- This case is designed to check distribute MAC IPv6 L2TPV2 data packets based on MAC src and L2TP session ID as input set. @@ -352,13 +352,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") Subcase 2: eth_l2_src_only_MAC_IPV6_L2TPV2_DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -368,13 +368,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)], iface="") Subcase 3: l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -384,13 +384,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") Subcase 4: eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -400,13 +400,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=8,session_id=)], iface="") Subcase 5: l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -416,13 +416,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") Subcase 6: eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -432,13 +432,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)], iface="") Subcase 7: l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -448,13 +448,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") Subcase 8: eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -464,13 +464,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)], iface="") Subcase 9: l2tpv2_session_id_MAC_IPV6_L2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -480,13 +480,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") Subcase 10: eth_l2_src_only_MAC_IPV6_L2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -496,15 +496,15 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=12,session_id=)], iface="") -Test case 5: MAC_IPV4_PPPoL2TPV2 +Test case 5: MAC_IPV4_PPPoL2TPV2 -------------------------------- This case is designed to check distribute MAC IPv4 PPPoL2TPV2 data packets based on MAC src and L2TP session ID as input set. @@ -516,13 +516,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 2: eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -532,13 +532,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 3: l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -548,13 +548,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 4: eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -564,13 +564,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 5: l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -580,13 +580,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 6: eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -596,13 +596,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 7: l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -612,13 +612,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 8: eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -628,13 +628,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 9: l2tpv2_session_id_MAC_IPV4_PPPoL2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -644,13 +644,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 10: eth_l2_src_only_MAC_IPV4_PPPoL2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -660,15 +660,15 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") -Test case 6: MAC_IPV6_PPPoL2TPV2 +Test case 6: MAC_IPV6_PPPoL2TPV2 -------------------------------- This case is designed to check distribute MAC IPv6 PPPoL2TPV2 data packets based on MAC src and L2TP session ID as input set. @@ -680,13 +680,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 2: eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -696,13 +696,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 3: l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -712,13 +712,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 4: eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -728,13 +728,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=12,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 5: l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -744,13 +744,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 6: eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -760,13 +760,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 7: l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -776,13 +776,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 8: eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -792,13 +792,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,session_id=,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 9: l2tpv2_session_id_MAC_IPV6_PPPoL2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -808,13 +808,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Subcase 10: eth_l2_src_only_MAC_IPV6_PPPoL2TPV2_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -824,13 +824,13 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=16,session_id=)/HDLC()/Raw(b"\\x00\\x00")], iface="") Test case 7: MAC_IPV4_PPPoL2TPV2_IPV4_PAY ----------------------------------------- @@ -844,14 +844,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 2: ipv4_MAC_IPV4_PPPoL2TPV2_IPV4_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -861,14 +861,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 3: ipv4_MAC_IPV4_PPPoL2TPV2_IPV4_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -878,14 +878,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/iIP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/iIP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 4: ipv4_MAC_IPV4_PPPoL2TPV2_IPV4_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -895,14 +895,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 5: ipv4_MAC_IPV4_PPPoL2TPV2_IPV4_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -912,14 +912,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Test case 8: MAC_IPV4_PPPoL2TPV2_IPV4_UDP_PAY --------------------------------------------- @@ -933,14 +933,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(sport=)], iface="") Subcase 2: ipv4_udp_MAC_IPV4_PPPoL2TPV2_IPV4_UDP_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -950,14 +950,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") Subcase 3: ipv4_udp_MAC_IPV4_PPPoL2TPV2_IPV4_UDP_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -967,14 +967,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") Subcase 4: ipv4_udp_MAC_IPV4_PPPoL2TPV2_IPV4_UDP_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -984,14 +984,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") Subcase 5: ipv4_udp_MAC_IPV4_PPPoL2TPV2_IPV4_UDP_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1001,16 +1001,16 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") -Test case 9: MAC_IPV4_PPPoL2TPV2_IPV4_TCP +Test case 9: MAC_IPV4_PPPoL2TPV2_IPV4_TCP ----------------------------------------- This case is designed to check distribute MAC IPv4 PPPoL2TPV2 IPv4 TCP data packets based on IP src+dest address and inner TCP src+dest port as input set. @@ -1022,14 +1022,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(sport=)], iface="") Subcase 2: ipv4_tcp_MAC_IPV4_PPPoL2TPV2_IPV4_TCP_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1039,14 +1039,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") Subcase 3: ipv4_tcp_MAC_IPV4_PPPoL2TPV2_IPV4_TCP_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1056,14 +1056,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") Subcase 4: ipv4_tcp_MAC_IPV4_PPPoL2TPV2_IPV4_TCP_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1073,14 +1073,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") Subcase 5: ipv4_tcp_MAC_IPV4_PPPoL2TPV2_IPV4_TCP_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1090,14 +1090,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") Test case 10: MAC_IPV4_PPPoL2TPV2_IPV6_PAY ------------------------------------------ @@ -1111,14 +1111,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 2: ipv6_MAC_IPV4_PPPoL2TPV2_IPV6_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1128,14 +1128,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=1701)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 3: ipv6_MAC_IPV4_PPPoL2TPV2_IPV6_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1145,14 +1145,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 4: ipv6_MAC_IPV4_PPPoL2TPV2_IPV6_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1162,14 +1162,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 5: ipv6_MAC_IPV4_PPPoL2TPV2_IPV6_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1179,14 +1179,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Test case 11: MAC_IPV4_PPPoL2TPV2_IPV6_UDP_PAY ---------------------------------------------- @@ -1200,14 +1200,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") Subcase 2: ipv6_udp_MAC_IPV4_PPPoL2TPV2_IPV6_UDP_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1217,14 +1217,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") Subcase 3: ipv6_udp_MAC_IPV4_PPPoL2TPV2_IPV6_UDP_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1234,14 +1234,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") Subcase 4: ipv6_udp_MAC_IPV4_PPPoL2TPV2_IPV6_UDP_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1251,14 +1251,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") Subcase 5: ipv6_udp_MAC_IPV4_PPPoL2TPV2_IPV6_UDP_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1268,14 +1268,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") Test case 12: MAC_IPV4_PPPoL2TPV2_IPV6_TCP ------------------------------------------ @@ -1289,14 +1289,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") Subcase 2: ipv6_tcp_MAC_IPV4_PPPoL2TPV2_IPV6_TCP_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1306,14 +1306,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") Subcase 3: ipv6_tcp_MAC_IPV4_PPPoL2TPV2_IPV6_TCP_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1323,14 +1323,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") Subcase 4: ipv6_tcp_MAC_IPV4_PPPoL2TPV2_IPV6_TCP_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1340,14 +1340,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") Subcase 5: ipv6_tcp_MAC_IPV4_PPPoL2TPV2_IPV6_TCP_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1357,14 +1357,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") Test case 13: MAC_IPV6_PPPoL2TPV2_IPV4_PAY ------------------------------------------ @@ -1378,14 +1378,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 2: ipv4_MAC_IPV6_PPPoL2TPV2_IPV4_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1395,14 +1395,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=32)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 3: ipv4_MAC_IPV6_PPPoL2TPV2_IPV4_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1412,14 +1412,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 4: ipv4_MAC_IPV6_PPPoL2TPV2_IPV4_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1429,14 +1429,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Subcase 5: ipv4_MAC_IPV6_PPPoL2TPV2_IPV4_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1446,14 +1446,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=36)/HDLC()/Raw(b"\\x00\\x21")/IP(src="",dst="")], iface="") Test case 14: MAC_IPV6_PPPoL2TPV2_IPV4_UDP_PAY ---------------------------------------------- @@ -1467,14 +1467,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") Subcase 2: ipv4_udp_MAC_IPV6_PPPoL2TPV2_IPV4_UDP_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1484,14 +1484,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=40)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") Subcase 3: ipv4_udp_MAC_IPV6_PPPoL2TPV2_IPV4_UDP_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1501,14 +1501,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/UDP(dport=)], iface="") Subcase 4: ipv4_udp_MAC_IPV6_PPPoL2TPV2_IPV4_UDP_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1518,14 +1518,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(sport=)], iface="") Subcase 5: ipv4_udp_MAC_IPV6_PPPoL2TPV2_IPV4_UDP_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1535,14 +1535,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=44)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/UDP(dport=)], iface="") Test case 15: MAC_IPV6_PPPoL2TPV2_IPV4_TCP ------------------------------------------ @@ -1556,14 +1556,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") Subcase 2: ipv4_tcp_MAC_IPV6_PPPoL2TPV2_IPV4_TCP_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1573,14 +1573,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") Subcase 3: ipv4_tcp_MAC_IPV6_PPPoL2TPV2_IPV4_TCP_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1590,14 +1590,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x21")/IP(src="")/TCP(dport=)], iface="") Subcase 4: ipv4_tcp_MAC_IPV6_PPPoL2TPV2_IPV4_TCP_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1607,14 +1607,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(sport=)], iface="") Subcase 5: ipv4_tcp_MAC_IPV6_PPPoL2TPV2_IPV4_TCP_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1624,14 +1624,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x21")/IP(dst="")/TCP(dport=)], iface="") Test case 16: MAC_IPV6_PPPoL2TPV2_IPV6_PAY ------------------------------------------ @@ -1645,14 +1645,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="7")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="7")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 2: ipv6_MAC_IPV6_PPPoL2TPV2_IPV6_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1662,14 +1662,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=52)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 3: ipv6_MAC_IPV6_PPPoL2TPV2_IPV6_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1679,14 +1679,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Subcase 4: ipv6_MAC_IPV6_PPPoL2TPV2_IPV6_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1696,15 +1696,15 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + Subcase 5: ipv6_MAC_IPV6_PPPoL2TPV2_IPV6_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rules:: @@ -1713,14 +1713,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=56)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="",dst="")], iface="") Test case 17: MAC_IPV6_PPPoL2TPV2_IPV6_UDP_PAY ---------------------------------------------- @@ -1734,14 +1734,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") Subcase 2: ipv6_udp_MAC_IPV6_PPPoL2TPV2_IPV6_UDP_PAY_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1751,14 +1751,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=60)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") Subcase 3: ipv6_udp_MAC_IPV6_PPPoL2TPV2_IPV6_UDP_PAY_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1768,14 +1768,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(sport=)], iface="") Subcase 4: ipv6_udp_MAC_IPV6_PPPoL2TPV2_IPV6_UDP_PAY_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1785,14 +1785,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/UDP(dport=)], iface="") Subcase 5: ipv6_udp_MAC_IPV6_PPPoL2TPV2_IPV6_UDP_PAY_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1802,14 +1802,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=64)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/UDP(dport=)], iface="") Test case 18: MAC_IPV6_PPPoL2TPV2_IPV6_TCP ------------------------------------------ @@ -1823,14 +1823,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x000)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") Subcase 2: ipv6_tcp_MAC_IPV6_PPPoL2TPV2_IPV6_TCP_DATA_L ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1840,14 +1840,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x400,len=72)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") Subcase 3: ipv6_tcp_MAC_IPV6_PPPoL2TPV2_IPV6_TCP_DATA_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1857,14 +1857,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x080)/HDLC()/Raw(b"\\x00\\x57")/IPv6(dst="")/TCP(sport=)], iface="") Subcase 4: ipv6_tcp_MAC_IPV6_PPPoL2TPV2_IPV6_TCP_DATA_O ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1874,14 +1874,14 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(dport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x020,offset=)/Raw(b"\\x00\\x00\\x00\\x00")/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") Subcase 5: ipv6_tcp_MAC_IPV6_PPPoL2TPV2_IPV6_TCP_DATA_L_S ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1891,12 +1891,12 @@ rules:: matched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") mismatched packets:: - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") - >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IPv6()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") + >>> sendp([Ether(src="")/IP()/UDP(dport=)/L2TP(hdr=0x480,len=76)/HDLC()/Raw(b"\\x00\\x57")/IPv6(src="")/TCP(sport=)], iface="") diff --git a/test_plans/ice_iavf_fdir_test_plan.rst b/test_plans/ice_iavf_fdir_test_plan.rst index a611f2b0..90c1cb68 100644 --- a/test_plans/ice_iavf_fdir_test_plan.rst +++ b/test_plans/ice_iavf_fdir_test_plan.rst @@ -211,7 +211,7 @@ Prerequisites testpmd> set fwd rxonly testpmd> set verbose 1 -6. on tester side, copy the layer python file to /root:: +6. on TG side, copy the layer python file to /root:: cp pfcp.py to /root @@ -546,9 +546,9 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.3', proto=115)/L2TP('\\x00\\x00\\x00\\x11')/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src='192.168.1.3', proto=115)/L2TP('\\x00\\x00\\x00\\x11')/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IP(src='192.168.0.3', proto=115)/L2TP('\\x00\\x00\\x00\\x12')/Raw('x'*480),iface="enp134s0f1") * MAC_IPV6_L2TPv3 @@ -557,9 +557,9 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:8888',nh=115)/L2TP('\\x00\\x00\\x00\\x11')/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:9999',nh=115)/L2TP('\\x00\\x00\\x00\\x11')/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src='1111:2222:3333:4444:5555:6666:7777:8888',nh=115)/L2TP('\\x00\\x00\\x00\\x12')/Raw('x'*480),iface="enp134s0f1") * MAC_IPV4_ESP @@ -569,7 +569,7 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.21",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.11",proto=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21",proto=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1") @@ -581,7 +581,7 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9",nh=50)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2",nh=50)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1") @@ -592,9 +592,9 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=51)/AH(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.1.3",proto=51)/AH(spi=7)/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.3",proto=51)/AH(spi=17)/Raw('x'*480),iface="enp134s0f1") * MAC_IPV6_AH @@ -603,9 +603,9 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888",nh=51)/AH(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:9999",nh=51)/AH(spi=7)/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888",nh=51)/AH(spi=17)/Raw('x'*480),iface="enp134s0f1") * MAC_IPV4_NAT-T-ESP @@ -613,9 +613,9 @@ Send packets matched packets:: sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.22",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.11")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1") @@ -625,9 +625,9 @@ Send packets matched packets:: sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") - + mismatched packets:: - + sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::8",dst="2001::2")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::9")/UDP(dport=4500)/ESP(spi=7)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="2001::1",dst="2001::2")/UDP(dport=4500)/ESP(spi=17)/Raw('x'*480),iface="enp134s0f1") @@ -5062,16 +5062,16 @@ Subcase 1: PFCP FDIR vlan strip on HW checksum offload check testpmd> set verbose 1 testpmd> start -4. DUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: +4. SUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 1 / mark id 1 / end flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions queue index 2 / mark id 2 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions queue index 3 / mark id 3 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions queue index 4 / mark id 4 / end - DUT check the packets are redirected to expected queue with mark id on port 0. + SUT check the packets are redirected to expected queue with mark id on port 0. -5. Tester send matched packets with VLAN tag "1" and incorrect checksum:: +5. TG send matched packets with VLAN tag "1" and incorrect checksum:: sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IP(chksum=0xf)/UDP(sport=22, dport=8805)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IP(chksum=0xf)/UDP(sport=22, dport=8805)/PFCP(Sfield=1),iface="enp134s0f1") @@ -5080,7 +5080,7 @@ Subcase 1: PFCP FDIR vlan strip on HW checksum offload check sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IPv6()/UDP(sport=22, dport=8805, chksum=0xf)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IPv6()/UDP(sport=22, dport=8805, chksum=0xf)/PFCP(Sfield=1),iface="enp134s0f1") -6. DUT check the packets are redirected to expected queue with mark id on port 0 with "PKT_RX_VLAN_STRIPPED", +6. SUT check the packets are redirected to expected queue with mark id on port 0 with "PKT_RX_VLAN_STRIPPED", and report the checksum error:: PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD @@ -5090,10 +5090,10 @@ Subcase 1: PFCP FDIR vlan strip on HW checksum offload check PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD verify that the same number of packet are correctly received on the traffic generator side port A without VLAN tag "1". - And IPv4 checksum, UDP checksum need be validated as pass by the tester. + And IPv4 checksum, UDP checksum need be validated as pass by the TG. The IPv4 source address will not be changed by testpmd. -7. DUT verify rule can be listed and destroyed:: +7. SUT verify rule can be listed and destroyed:: testpmd> flow list 0 @@ -5101,11 +5101,11 @@ Subcase 1: PFCP FDIR vlan strip on HW checksum offload check testpmd> flow flush 0 -8. Tester send matched packets with VLAN tag "1" and incorrect checksum. - DUT check all the packets are distributed to queue 0 without mark id. +8. TG send matched packets with VLAN tag "1" and incorrect checksum. + SUT check all the packets are distributed to queue 0 without mark id. all the received packets are with "PKT_RX_VLAN_STRIPPED", and report the checksum error, verify that the same number of packet are correctly received on the traffic generator side port A without VLAN tag "1". - And IPv4 checksum, UDP checksum need be validated as pass by the tester. + And IPv4 checksum, UDP checksum need be validated as pass by the TG. The IPv4 source address will not be changed by testpmd. subcase 2: PFCP FDIR vlan strip off SW checksum offload check @@ -5132,14 +5132,14 @@ subcase 2: PFCP FDIR vlan strip off SW checksum offload check testpmd> set verbose 1 testpmd> start -4. DUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: +4. SUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 1 / mark id 1 / end flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions queue index 2 / mark id 2 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions queue index 3 / mark id 3 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions queue index 4 / mark id 4 / end -5. Tester send matched packets with VLAN tag "1" and incorrect checksum:: +5. TG send matched packets with VLAN tag "1" and incorrect checksum:: sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IP(chksum=0xf)/UDP(sport=22, dport=8805)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IP(chksum=0xf)/UDP(sport=22, dport=8805)/PFCP(Sfield=1),iface="enp134s0f1") @@ -5148,7 +5148,7 @@ subcase 2: PFCP FDIR vlan strip off SW checksum offload check sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IPv6()/UDP(sport=22, dport=8805, chksum=0xf)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/Dot1Q(vlan=1)/IPv6()/UDP(sport=22, dport=8805, chksum=0xf)/PFCP(Sfield=1),iface="enp134s0f1") -6. DUT check the packets are redirected to expected queue with mark id on port 0 without "PKT_RX_VLAN_STRIPPED", +6. SUT check the packets are redirected to expected queue with mark id on port 0 without "PKT_RX_VLAN_STRIPPED", and report the checksum error:: PKT_RX_L4_CKSUM_BAD PKT_RX_IP_CKSUM_GOOD @@ -5158,10 +5158,10 @@ subcase 2: PFCP FDIR vlan strip off SW checksum offload check PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_BAD verify that the same number of packet are correctly received on the traffic generator side port A with VLAN tag "1". - And UDP checksum need be validated as pass by the tester. + And UDP checksum need be validated as pass by the TG. The checksum is indeed recalculated by software algorithms. -7. DUT verify rule can be listed and destroyed:: +7. SUT verify rule can be listed and destroyed:: testpmd> flow list 0 @@ -5169,11 +5169,11 @@ subcase 2: PFCP FDIR vlan strip off SW checksum offload check testpmd> flow flush 0 -8. Tester send matched packets with VLAN tag "1" and incorrect checksum. +8. TG send matched packets with VLAN tag "1" and incorrect checksum. -9. DUT check the packets are distributed to queue 0 without mark id without "PKT_RX_VLAN_STRIPPED", and report the checksum error. +9. SUT check the packets are distributed to queue 0 without mark id without "PKT_RX_VLAN_STRIPPED", and report the checksum error. verify that the same number of packet are correctly received on the traffic generator side port A with VLAN tag "1". - And UDP checksum need be validated as pass by the tester. + And UDP checksum need be validated as pass by the TG. The checksum is indeed recalculated by software algorithms. subcase 3: PFCP FDIR vlan insert on @@ -5191,24 +5191,24 @@ subcase 3: PFCP FDIR vlan insert on testpmd> port start all testpmd> set fwd mac -3. DUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: +3. SUT create fdir rules for MAC_IPV4_PFCP_NODE/MAC_IPV4_PFCP_SESSION/MAC_IPV6_PFCP_NODE/MAC_IPV6_PFCP_SESSION with queue index and mark:: flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 1 / mark id 1 / end flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 1 / end actions queue index 2 / mark id 2 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 0 / end actions queue index 3 / mark id 3 / end flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions queue index 4 / mark id 4 / end -4. Tester send matched packets without VLAN tag:: +4. TG send matched packets without VLAN tag:: sendp(Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=22, dport=8805)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/IP()/UDP(sport=22, dport=8805)/PFCP(Sfield=1),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(sport=22, dport=8805)/PFCP(Sfield=0),iface="enp134s0f1") sendp(Ether(dst="00:11:22:33:44:55")/IPv6()/UDP(sport=22, dport=8805)/PFCP(Sfield=1),iface="enp134s0f1") -5. DUT check the packets are redirected to expected queue with mark id on port 0 without "PKT_RX_VLAN_STRIPPED", +5. SUT check the packets are redirected to expected queue with mark id on port 0 without "PKT_RX_VLAN_STRIPPED", verify that the same number of packet are correctly received on the traffic generator side port A with VLAN tag "1". -6. DUT verify rule can be listed and destroyed:: +6. SUT verify rule can be listed and destroyed:: testpmd> flow list 0 @@ -5219,11 +5219,11 @@ subcase 3: PFCP FDIR vlan insert on testpmd> flow destroy 0 rule 2 testpmd> flow destroy 0 rule 3 -7. Tester send matched packets without VLAN tag "1". +7. TG send matched packets without VLAN tag "1". -8. DUT check the packets are not distributed to expected queue without mark id without "PKT_RX_VLAN_STRIPPED", +8. SUT check the packets are not distributed to expected queue without mark id without "PKT_RX_VLAN_STRIPPED", verify that the same number of packet are correctly received on the traffic generator side port A with VLAN tag "1". - And UDP checksum need be validated as pass by the tester. + And UDP checksum need be validated as pass by the TG. Test case: without input set test ================================= diff --git a/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst b/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst index 18c71ce5..355ccb61 100644 --- a/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst +++ b/test_plans/ice_iavf_ip_fragment_rte_flow_test_plan.rst @@ -41,7 +41,7 @@ Prerequisites scapy: http://www.secdev.org/projects/scapy/ -3. Get the pci device id of DUT, for example:: +3. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -105,7 +105,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 1: received 1 packets + sut.10.240.183.133: port 0/queue 1: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0x261a7deb - RSS queue=0x1 - FDIR matched ID=0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x1 ol_flags: PKT_RX_RSS_HASH PKT_RX_FDIR PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_FDIR_ID PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 1: received 1 packets @@ -120,7 +120,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 3: received 1 packets + sut.10.240.183.133: port 0/queue 3: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 3: received 1 packets @@ -137,7 +137,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 7: received 1 packets + sut.10.240.183.133: port 0/queue 7: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0x4cf81c87 - RSS queue=0x7 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x7 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 7: received 1 packets @@ -163,7 +163,7 @@ take 'MAC_IPV4_FRAG_RSS for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0xa1dd9f10 - RSS queue=0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets @@ -177,7 +177,7 @@ take 'MAC_IPV4_FRAG_RSS for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 12: received 1 packets + sut.10.240.183.133: port 0/queue 12: received 1 packets src=00:11:22:33:44:66 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0xf4a26fbc - RSS queue=0xc - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0xc ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 12: received 1 packets @@ -191,7 +191,7 @@ take 'MAC_IPV4_FRAG_RSS for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets @@ -209,7 +209,7 @@ take 'MAC_IPV4_FRAG_RSS for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets diff --git a/test_plans/ice_iavf_rss_configure_test_plan.rst b/test_plans/ice_iavf_rss_configure_test_plan.rst index 86ab957c..71c46f2e 100644 --- a/test_plans/ice_iavf_rss_configure_test_plan.rst +++ b/test_plans/ice_iavf_rss_configure_test_plan.rst @@ -28,7 +28,7 @@ Prerequisites 2. insmod ice.ko, and bind PF to ice. -3. create a VF from a PF in DUT, set mac address for this VF:: +3. create a VF from a PF in SUT, set mac address for this VF:: echo 1 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs ip link set enp24s0f0 vf 0 mac 00:11:22:33:44:55 diff --git a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst index 14c628a8..4e14b127 100644 --- a/test_plans/ice_ip_fragment_rte_flow_test_plan.rst +++ b/test_plans/ice_ip_fragment_rte_flow_test_plan.rst @@ -41,7 +41,7 @@ Prerequisites scapy: http://www.secdev.org/projects/scapy/ -3. Get the pci device id of DUT, for example:: +3. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -97,7 +97,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 1: received 1 packets + sut.10.240.183.133: port 0/queue 1: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0x261a7deb - RSS queue=0x1 - FDIR matched ID=0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x1 ol_flags: PKT_RX_RSS_HASH PKT_RX_FDIR PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_FDIR_ID PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 1: received 1 packets @@ -112,7 +112,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 3: received 1 packets + sut.10.240.183.133: port 0/queue 3: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - RSS hash=0xe5ae2d03 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x3 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 3: received 1 packets @@ -129,7 +129,7 @@ take 'MAC_IPV4_FRAG fdir queue index' for fdir example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 7: received 1 packets + sut.10.240.183.133: port 0/queue 7: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0x4cf81c87 - RSS queue=0x7 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x7 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD port 0/queue 7: received 1 packets @@ -155,7 +155,7 @@ take 'MAC_IPV4_FRAG_RSS' for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0xa1dd9f10 - RSS queue=0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets @@ -169,7 +169,7 @@ take 'MAC_IPV4_FRAG_RSS' for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 12: received 1 packets + sut.10.240.183.133: port 0/queue 12: received 1 packets src=00:11:22:33:44:66 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - RSS hash=0xf4a26fbc - RSS queue=0xc - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0xc ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 12: received 1 packets @@ -183,7 +183,7 @@ take 'MAC_IPV4_FRAG_RSS' for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x86dd - length=494 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV6_EXT L4_FRAG - l2_len=14 - l3_len=48 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_UNKNOWN PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets @@ -201,7 +201,7 @@ take 'MAC_IPV4_FRAG_RSS' for rss example sendp(pkts, iface="enp1s0") Sent 2 packets. - dut.10.240.183.133: port 0/queue 0: received 1 packets + sut.10.240.183.133: port 0/queue 0: received 1 packets src=00:11:22:33:44:55 - dst=00:11:22:33:55:66 - type=0x0800 - length=530 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_FRAG - sw ptype: L2_ETHER L3_IPV4 L4_FRAG - l2_len=14 - l3_len=20 - l4_len=0 - Receive queue=0x0 ol_flags: PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN port 0/queue 0: received 1 packets diff --git a/test_plans/ice_limit_value_test_test_plan.rst b/test_plans/ice_limit_value_test_test_plan.rst index ff859038..b8aa75d2 100644 --- a/test_plans/ice_limit_value_test_test_plan.rst +++ b/test_plans/ice_limit_value_test_test_plan.rst @@ -66,7 +66,7 @@ Prerequisites testpmd> set fwd rxonly testpmd> set verbose 1 -6. on tester side, copy the layer python file to /root:: +6. on TG side, copy the layer python file to /root:: cp pfcp.py to /root @@ -472,7 +472,7 @@ Prerequisites rmmod ice insmod ice.ko -4. Get the pci device id of DUT, for example:: +4. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -509,7 +509,7 @@ Prerequisites check the VF0 driver is net_ice_dcf. -9. on tester side, copy the layer python file to /root:: +9. on TG side, copy the layer python file to /root:: cp pfcp.py to /root diff --git a/test_plans/ice_qinq_test_plan.rst b/test_plans/ice_qinq_test_plan.rst index 3cf20fc3..c9701406 100644 --- a/test_plans/ice_qinq_test_plan.rst +++ b/test_plans/ice_qinq_test_plan.rst @@ -35,7 +35,7 @@ Prerequisites CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc ninja -C x86_64-native-linuxapp-gcc -j 110 -5. Get the pci device id of DUT, for example:: +5. Get the pci device id of NIC ports, for example:: ./usertools/dpdk-devbind.py -s @@ -611,12 +611,12 @@ Test case 07: vlan strip when pvid enable testpmd> port start 2 testpmd> start -3. tester send qinq pkt and single vlan pkt to VF1:: +3. TG send qinq pkt and single vlan pkt to VF1:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=1,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=21,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") -4. check the pkts can be received in VF1 and fwd to tester without outer vlan header:: +4. check the pkts can be received in VF1 and fwd to TG without outer vlan header:: testpmd> port 2/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=518 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0 @@ -649,7 +649,7 @@ Test case 07: vlan strip when pvid enable testpmd> port start 2 testpmd> start -7. repeat step 3, check the pkts can be received in VF1 and fwd to tester with outer vlan header:: +7. repeat step 3, check the pkts can be received in VF1 and fwd to TG with outer vlan header:: testpmd> port 2/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=518 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0 @@ -673,7 +673,7 @@ Test case 07: vlan strip when pvid enable testpmd> vlan set strip on 2 -9. repeat step 3, check the pkts can be received in VF1 and fwd to tester without both outer and inner vlan header:: +9. repeat step 3, check the pkts can be received in VF1 and fwd to TG without both outer and inner vlan header:: testpmd> port 2/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=518 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0 @@ -697,7 +697,7 @@ Test case 07: vlan strip when pvid enable testpmd> vlan set strip on 2 -11. repeat step 1,2 and 3, check the pkts can be received in VF1 and fwd to tester without both outer and inner vlan header:: +11. repeat step 1,2 and 3, check the pkts can be received in VF1 and fwd to TG without both outer and inner vlan header:: testpmd> port 2/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=518 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Receive queue=0x0 @@ -894,12 +894,12 @@ Test case 09: vlan filter when pvid enable testpmd> vlan set filter on 2 testpmd> rx_vlan add 11 2 -5. tester send qinq pkt and single vlan pkt which outer vlan id is 11 to VF1:: +5. TG send qinq pkt and single vlan pkt which outer vlan id is 11 to VF1:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=11,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=11,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") -6. check the pkts can be received by VF1 and fwd to tester:: +6. check the pkts can be received by VF1 and fwd to TG:: testpmd> port 2/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=522 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - Receive queue=0x0 @@ -918,7 +918,7 @@ Test case 09: vlan filter when pvid enable 10:22:00.005919 00:11:22:33:44:22 > 02:00:00:00:00:03, ethertype 802.1Q (0x8100), length 518: vlan 11, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto Options (0), length 500) 196.222.232.221 > 127.0.0.1: ip-proto-0 480 -7. tester send qinq pkt and single vlan pkt which outer vlan id is 21 to VF1:: +7. TG send qinq pkt and single vlan pkt which outer vlan id is 21 to VF1:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=21,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=21,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") @@ -950,7 +950,7 @@ Test case 10: Enable/Disable IAVF VLAN filtering VLAN offload: strip off, filter on, extend off, qinq strip off -3. tester send qinq pkt and single vlan pkt which outer vlan id is 1 to VF:: +3. TG send qinq pkt and single vlan pkt which outer vlan id is 1 to VF:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=1,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") @@ -961,7 +961,7 @@ Test case 10: Enable/Disable IAVF VLAN filtering testpmd> rx_vlan add 1 0 -6. repeat step 3, check the pkts can be received by VF and fwd to tester:: +6. repeat step 3, check the pkts can be received by VF and fwd to TG:: testpmd> port 0/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=522 - nb_segs=1 - hw ptype: L2_ETHER - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN - l2_len=18 - inner_l2_len=4 - Receive queue=0x0 @@ -978,7 +978,7 @@ Test case 10: Enable/Disable IAVF VLAN filtering 16:51:06.083084 00:00:00:00:00:00 > 00:11:22:33:44:11, ethertype 802.1Q (0x8100), length 518: vlan 1, p 0, ethertype 0x0800, 16:51:06.083127 00:11:22:33:44:11 > 02:00:00:00:00:00, ethertype 802.1Q (0x8100), length 518: vlan 1, p 0, ethertype 0x0800, -7. tester send qinq pkt and single vlan pkt which outer vlan id is 11 to VF:: +7. TG send qinq pkt and single vlan pkt which outer vlan id is 11 to VF:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=11,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=11,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") @@ -1022,12 +1022,12 @@ Test case 11: Enable/Disable IAVF VLAN header stripping VLAN offload: strip on, filter on, extend off, qinq strip off -5. tester send qinq pkt and single vlan pkt which outer vlan id is 1 to VF:: +5. TG send qinq pkt and single vlan pkt which outer vlan id is 1 to VF:: sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=1,type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") -6. check the pkts can be received in VF and fwd to tester without outer vlan header:: +6. check the pkts can be received in VF and fwd to TG without outer vlan header:: testpmd> port 0/queue 10: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=518 - nb_segs=1 - RSS hash=0xc7b627aa - RSS queue=0xa - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN L3_IPV4 - l2_len=18 - l3_len=20 - Tail/CRC: 0x58585858/0x00000000 - Receive queue=0xa @@ -1060,7 +1060,7 @@ Test case 11: Enable/Disable IAVF VLAN header stripping VLAN offload: strip off, filter on, extend off, qinq strip off -9. repeat step 5, check the pkts can be received in VF and fwd to tester with outer vlan header:: +9. repeat step 5, check the pkts can be received in VF and fwd to TG with outer vlan header:: testpmd> port 0/queue 10: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x8100 - length=522 - nb_segs=1 - RSS hash=0xc7b627aa - RSS queue=0xa - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - Tail/CRC: 0x58585858/0x00000000 - Receive queue=0xa @@ -1108,12 +1108,12 @@ Test case 12: Enable/Disable IAVF VLAN header insertion testpmd> tx_vlan set 0 1 testpmd> port start 0 -4. tester send pkt to VF:: +4. TG send pkt to VF:: sendp([Ether(dst="00:11:22:33:44:11",type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") sendp([Ether(dst="00:11:22:33:44:11",type=0x8100)/Dot1Q(vlan=11,type=0x0800)/IP(src="196.222.232.221")/("X"*480)], iface="ens786f0") -5. check the pkts with vlan header can be received in tester:: +5. check the pkts with vlan header can be received in TG:: testpmd> port 0/queue 13: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xcaf4abfd - RSS queue=0xd - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0xd @@ -1142,7 +1142,7 @@ Test case 12: Enable/Disable IAVF VLAN header insertion testpmd> tx_vlan reset 0 testpmd> port start 0 -7. repeat step 4, check the pkts without vlan tag can be received in tester:: +7. repeat step 4, check the pkts without vlan tag can be received in TG:: testpmd> port 0/queue 9: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:11 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xa63e8869 - RSS queue=0x9 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x9 @@ -1515,8 +1515,8 @@ Description Intel® Ethernet 800 Series support l4 for QinQ switch filter in DCF driver is by dst MAC + outer VLAN id + inner VLAN id + dst IP + dst port, and port can support as eth / vlan / vlan / IP / tcp|udp. -* Enable QINQ switch filter for IPv4/IPv6, IPv4 + TCP/UDP in non-pipeline mode. -* Enable QINQ switch filter for IPv6 + TCP/UDP in pipeline mode. +* Enable QINQ switch filter for IPv4/IPv6, IPv4 + TCP/UDP in non-pipeline mode. +* Enable QINQ switch filter for IPv6 + TCP/UDP in pipeline mode. Prerequisites ============= @@ -1537,7 +1537,7 @@ General Set Up # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc # ninja -C x86_64-native-linuxapp-gcc -j 110 -2. Get the pci device id and interface of DUT and tester. +2. Get the pci device id and interface of NIC ports. For example, 0000:3b:00.0 and 0000:af:00.0 is pci device id, ens785f0 and ens260f0 is interface:: @@ -1550,7 +1550,7 @@ General Set Up # echo 2 > /sys/bus/pci/devices/0000:3b:00.0/sriov_numvfs -5. Get VF pci device id and interface of DUT. +5. Get VF pci device id and interface of NIC ports. # ./usertools/dpdk-devbind.py -s @@ -1561,28 +1561,28 @@ General Set Up # ip link set ens785f0 vf 0 trust on -7. Bind the DUT port to dpdk:: +7. Bind the NIC port to dpdk:: - # ./usertools/dpdk-devbind.py -b vfio-pci + # ./usertools/dpdk-devbind.py -b vfio-pci Test case ========= Common Steps ------------ -1. Launch the userland ``testpmd`` application on DUT as follows:: +1. Launch the userland ``testpmd`` application on SUT as follows:: - /app/dpdk-testpmd -a -- -i + /app/dpdk-testpmd -a -- -i -..note:: +..note:: For , you can use "-c 0x6 -n 4", you can also refer to testpmd doc for other setings. - For , you can use "0000:3b:01.0,cap=dcf -a 0000:3b:01.1" for this test plan. + For , you can use "0000:3b:01.0,cap=dcf -a 0000:3b:01.1" for this test plan. 2. Set verbose:: - + testpmd> set verbose 1 - + 3. Set fwd engine and start:: testpmd> set fwd rxonly @@ -1601,7 +1601,7 @@ ipv4 src: 192.168.1.1 ipv4 dst: 192.168.1.2 ipv4 src change inputset: 192.168.1.3 ipv4 dst change inputset: 192.168.1.4 -ipv6 dst: CDCD:910A:2222:5498:8475:1111:3900:2020 +ipv6 dst: CDCD:910A:2222:5498:8475:1111:3900:2020 ipv6 dst change inputset: CDCD:910A:2222:5498:8475:1111:3900:2023 outer vlan tci: 2 outer vlan tci change inputset: 1 @@ -1621,7 +1621,7 @@ The test case enable QINQ switch filter for IPv4 in non-pipeline mode, and port Test Steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv4 src is dst is / end actions vf id 1 / end Get the message:: @@ -1631,46 +1631,46 @@ Test Steps 2. Create a rule and list rules:: testpmd> flow create 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv4 src is dst is / end actions vf id 1 / end - + Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 - + ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV4 => VF -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=A4:BF:01:4D:6F:32 - dst=00:11:22:33:44:55 - type=0x8100 - length=122 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. + +TG:: -Tester:: + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") - - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP(src="",dst="")/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed @@ -1689,7 +1689,7 @@ The test case enable QINQ switch filter for IPv6 in non-pipeline mode, and port Test Steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv6 dst is / end actions vf id 1 / end Get the message:: @@ -1703,7 +1703,7 @@ Test Steps Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 @@ -1711,34 +1711,34 @@ Test Steps ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV6 => VF -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6 - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. + +TG:: -Tester:: + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") - - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed @@ -1757,7 +1757,7 @@ The test case enable QINQ switch filter for IPv4 + UDP in non-pipeline mode, and Test steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv4 / udp src is dst is / end actions vf id 1 / end Get the message:: @@ -1771,7 +1771,7 @@ Test steps Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 @@ -1779,34 +1779,34 @@ Test steps ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV4 UDP => VF -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=130 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_UDP - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - inner_l4_len=8 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") - - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") + + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/UDP(sport=,dport=)/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed @@ -1825,7 +1825,7 @@ The test case enable QINQ switch filter for IPv4 + TCP in non-pipeline mode, and Test Steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv4 / tcp src is dst is / end actions vf id 1 / end Get the message:: @@ -1839,7 +1839,7 @@ Test Steps Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 @@ -1847,34 +1847,34 @@ Test Steps ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV4 TCP => VF -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=142 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV4 INNER_L4_TCP - l2_len=18 - inner_l2_len=4 - inner_l3_len=20 - inner_l4_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IP()/TCP(sport=,dport=)/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed @@ -1895,7 +1895,7 @@ The test case enable QINQ switch filter for IPv6 + UDP in pipeline mode, and por Test Steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 priority 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv6 dst is / udp src is dst is / end actions vf id 1 / end Get the message:: @@ -1909,7 +1909,7 @@ Test Steps Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 @@ -1917,34 +1917,34 @@ Test Steps ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV6 UDP => VF -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") -DUT:: +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=150 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_UDP - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_UDP - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - inner_l4_len=8 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. -Tester:: +TG:: - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") - - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") + + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/UDP(sport=,dport=)/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed @@ -1963,7 +1963,7 @@ The test case enable QINQ switch filter for IPv6 + TCP in pipeline mode, and por Test steps ~~~~~~~~~~ 1. Validate a rule:: - + testpmd> flow validate 0 priority 0 ingress pattern eth dst is / vlan tci is / vlan tci is / ipv6 dst is / tcp src is dst is / end actions vf id 1 / end Get the message:: @@ -1977,42 +1977,42 @@ Test steps Get the message:: Flow rule #0 created - + Check the flow list:: testpmd> flow list 0 ID Group Prio Attr Rule 0 0 0 i-- ETH VLAN VLAN IPV6 TCP => VF - -3. Send matched packet in scapy on tester, check the port 1 of DUT received this packet. -Tester:: +3. Send matched packet in scapy on TG, check the port 1 of NIC received this packet. - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") +TG:: -DUT:: + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") + +SUT:: testpmd> port 1/queue 0: received 1 packets src=00:00:00:00:00:00 - dst=00:11:22:33:44:55 - type=0x8100 - length=162 - nb_segs=1 - hw ptype: L2_ETHER L3_IPV6_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER_VLAN INNER_L2_ETHER_VLAN INNER_L3_IPV6 INNER_L4_TCP - l2_len=18 - inner_l2_len=4 - inner_l3_len=40 - inner_l4_len=20 - Receive queue=0x0 ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN -4. Send mismatched packet in scapy on tester, check the port 1 of DUT could not receive this packet. +4. Send mismatched packet in scapy on TG, check the port 1 of NIC could not receive this packet. + +TG:: -Tester:: + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") - - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") - >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") + >>> sendp([Ether(dst="",type=0x8100)/Dot1Q(vlan=,type=0x8100)/Dot1Q(vlan=,type=0x0800)/IPv6(dst="")/TCP(sport=,dport=)/("X"*80)],iface="") 5. Destroy a rule and list rules:: testpmd> flow destroy 0 rule 0 - + Get the message:: Flow rule #0 destroyed -- 2.20.1