[dts] [PATCH v1] test_plans/flexible_rxd:add MPLS test cases
Hailin Xu
hailinx.xu at intel.com
Wed Feb 24 08:20:54 CET 2021
add MPLS test cases.
Signed-off-by: Hailin Xu <hailinx.xu at intel.com>
---
test_plans/flexible_rxd_test_plan.rst | 363 +++++++++++++++++++++++++-
1 file changed, 360 insertions(+), 3 deletions(-)
diff --git a/test_plans/flexible_rxd_test_plan.rst b/test_plans/flexible_rxd_test_plan.rst
index 1520d5f6..47b8fbff 100644
--- a/test_plans/flexible_rxd_test_plan.rst
+++ b/test_plans/flexible_rxd_test_plan.rst
@@ -46,9 +46,9 @@ Prerequisites
=============
Copy correct ``ice.pkg`` into ``/usr/lib/firmware/intel/ice/ddp/``, \
-For the test cases, comms package is expected.
+For the test cases, os/comms/wireless package is expected, except that "test case 12" only support os package.
-Prepare test toplogoy, in the test case, it requires
+Prepare test toplogy, in the test case, it requires
- 1 Intel E810 interface
- 1 network interface for sending test packet,
@@ -57,6 +57,22 @@ Prepare test toplogoy, in the test case, it requires
Patch testpmd for dumping flexible fields from RXD::
+ diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
+ index 7e9c7bdd6..b75b90a9c 100644
+ --- a/app/test-pmd/meson.build
+ +++ b/app/test-pmd/meson.build
+ @@ -49,6 +49,9 @@ endif
+ if dpdk_conf.has('RTE_NET_I40E')
+ deps += 'net_i40e'
+ endif
+ +if dpdk_conf.has('RTE_NET_ICE')
+ + deps += ['net_ice', 'net_iavf']
+ +endif
+ if dpdk_conf.has('RTE_NET_IXGBE')
+ deps += 'net_ixgbe'
+ endif
+
+
diff --git a/app/test-pmd/util.c b/app/test-pmd/util.c
index a1164b7..b90344d 100644
--- a/app/test-pmd/util.c
@@ -116,7 +132,7 @@ Send a packet with VLAN tag from test network interface::
Please notice
- Change ethernet source address with your test network interface's address
-- Make sure the ethernet destination addres is NOT your real E810 interface's address
+- Make sure the ethernet destination address is NOT your real E810 interface's address
Check the output in testpmd, **ctag=1:0:23** is expected, which is consistent with VLAN tag set in test packet::
@@ -345,6 +361,7 @@ Expected output in testpmd::
Test Case 12: Check effect of replacing pkg from RXID #22 to RXID #16
=====================================================================
+the case only support os pkg
Put the ice.pkg with RXID #16(ice-1.3.7.0.pkg and more) to /lib/firmware/updates/intel/ice/ddp/ice.pkg, then reload ice driver::
@@ -372,3 +389,343 @@ Replace correct ice.pkg to /lib/firmware/updates/intel/ice/ddp/ice.pkg,then relo
rmmod ice
modprobe ice.ko
+
+Test Case 13: Check testpmd use different parameters start
+==========================================================
+Test steps are same to ``Test Case 01``, use different "proto_xtr" parameters the launch command of testpmd, check RXDID value.
+
+use error parameter Launch testpmd::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-9 -n 4 -w af:01.0,proto_xtr=vxlan -- -i --rxq=4 --txq=4 --portmask=0x1 --nb-cores=2
+
+testpmd can't started, check "iavf_lookup_flex_desc_type(): wrong flex_desc type, it should be: vlan|ipv4|ipv6|ipv6_flow|tcp|ovs|ip_offset" in testpmd output.
+
+don't use parameter launch testpmd::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-9 -n 4 -w af:01.0 -- -i --rxq=4 --txq=4 --portmask=0x1 --nb-cores=2
+
+testpmd started, check "iavf_configure_queues(): request RXDID[16] in Queue[0]" in testpmd output
+
+MPLS TEST
+===================
+
+Test steps are same to ``Test Case 01``, just change the launch command of testpmd, test packet and expected output
+
+all MPLS cases use same parameter Launch testpmd::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 6-9 -n 4 -w af:01.0,proto_xtr=ip_offset -- -i --portmask=0x1 --nb-cores=2
+
+check RXDID value correct::
+
+ expected: RXDID[25]
+
+scapy prepare:
+===================
+about scapy:
+from scapy.contrib.mpls import MPLS
+
+Test Case 14: Check ip offset of ip
+===================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=18
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=18
+
+Test Case 15: check ip offset with vlan
+=======================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test Case 16: check offset with 2 vlan tag
+==========================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test Case 17: check ip offset with multi MPLS
+=============================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=18
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=18
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test Case 18: check ip offset with multi MPLS with vlan tag
+===========================================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=38
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=22
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=38
+
+Test Case 19: check ip offset with multi MPLS with 2 vlan tag
+=============================================================
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=38
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IP()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=42
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=26
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=30
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=34
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=38
+
+Test packet::
+
+ p = Ether(dst="00:11:22:33:44:55",type=0x88A8)/Dot1Q(type=0x8100)/Dot1Q(type=0x8847)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=0)/MPLS(s=1)/IPv6()
+
+Expected output in testpmd::
+
+ Protocol Offset:ip_offset=42
--
2.17.1
More information about the dts
mailing list