* [dts] [PATCH V1 0/3] remove etag test plan and testsuite
@ 2021-08-19 11:35 Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 1/3] test_plan/etag_test_plan: remove this test plan Yan Xia
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Yan Xia @ 2021-08-19 11:35 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
remove etag test plan and testsuite based on dpdk commit-id cf47acc0f(remove L2 tunnel offload control API E-tag set)
and 99a1b6895(remove API to config L2 tunnel EtherType port config all l2-tunnel E-tag xxx).
Yan Xia (3):
test_plan/etag_test_plan: remove this test plan
test_plans/index: delete etag_test_plan Field
tests/etag: remove testsuite
test_plans/etag_test_plan.rst | 151 -------------
test_plans/index.rst | 1 -
tests/TestSuite_etag.py | 407 ----------------------------------
3 files changed, 559 deletions(-)
delete mode 100644 test_plans/etag_test_plan.rst
delete mode 100644 tests/TestSuite_etag.py
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dts] [PATCH V1 1/3] test_plan/etag_test_plan: remove this test plan
2021-08-19 11:35 [dts] [PATCH V1 0/3] remove etag test plan and testsuite Yan Xia
@ 2021-08-19 11:35 ` Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 2/3] test_plans/index: delete etag_test_plan Field Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 3/3] tests/etag: remove testsuite Yan Xia
2 siblings, 0 replies; 5+ messages in thread
From: Yan Xia @ 2021-08-19 11:35 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
remove etag test plan based on dpdk commit-id cf47acc0f(remove L2 tunnel offload control API E-tag set)
and 99a1b6895(remove API to config L2 tunnel EtherType port config all l2-tunnel E-tag xxx).
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
test_plans/etag_test_plan.rst | 151 ----------------------------------
1 file changed, 151 deletions(-)
delete mode 100644 test_plans/etag_test_plan.rst
diff --git a/test_plans/etag_test_plan.rst b/test_plans/etag_test_plan.rst
deleted file mode 100644
index 6350d64e..00000000
--- a/test_plans/etag_test_plan.rst
+++ /dev/null
@@ -1,151 +0,0 @@
-.. Copyright (c) <2015-2017>, Intel Corporation
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- - Neither the name of Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
-==========================
-External Tag (E-tag) Tests
-==========================
-
-In some systems an additional external tag (E-tag) can be present before the
-VLAN. NIC X550 support VLANs in presence of external tags.
-E-tag mode is used for systems where the device adds a tag to identify a
-subsystem (usually a VM) and the near end switch adds a tag indicating the
-destination subsystem.
-
-The support of E-tag features by X550 consists in:
-- The filtering of received E-tag packets
-- E-tag header stripping by VF device in received packets
-- E-tag header insertion by VF device in transmitted packets
-- E-tag forwarding to assigned VF by E-tag id
-
-Prerequisites
-=============
-
-1. Create 2VF devices from PF device::
-
- ./dpdk_nic_bind.py --st
- 0000:84:00.0 'Device 1563' drv=igb_uio unused=
- echo 2 > /sys/bus/pci/devices/0000\:84\:00.0/max_vfs
-
-2. Detach VFs from the host, bind them to pci-stub driver::
-
- /sbin/modprobe pci-stub
-
- using `lspci -nn|grep -i ethernet` got VF device id, for example "8086 1565"::
-
- echo "8086 1565" > /sys/bus/pci/drivers/pci-stub/new_id
- echo 0000:84:10.0 > /sys/bus/pci/devices/0000:84:10.0/driver/unbind
- echo 0000:84:10.0 > /sys/bus/pci/drivers/pci-stub/bind
- echo 0000:84:10.2 > /sys/bus/pci/devices/0000:84:10.2/driver/unbind
- echo 0000:84:10.2 > /sys/bus/pci/drivers/pci-stub/bind
-
-3. Passthrough VF 84:10.0 & 84:10.2 to vm0 and start vm0::
-
- /usr/bin/qemu-system-x86_64 -name vm0 -enable-kvm \
- -cpu host -smp 4 -m 2048 -drive file=/home/image/sriov-fc20-1.img -vnc :1 \
- -device pci-assign,host=84:10.0,id=pt_0 \
- -device pci-assign,host=84:10.2,id=pt_1
-
-4. Login vm0 and them bind VF devices to igb_uio driver::
-
- ./tools/dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0
-
-5. Start host testpmd, set it in rxonly mode and enable verbose output::
-
- testpmd -c f -n 3 -- -i
- testpmd> set fwd rxonly
- testpmd> set verbose 1
- testpmd> start
-
-6. Start guest testpmd, set it in mac forward mode::
-
- testpmd -c 0x3 -n 1 -- -i --tx-offloads=0x8fff
- testpmd> set fwd mac
- testpmd> start
-
-Test Case 1: L2 tunnel filter
-=============================
-
-Enable E-tag l2 tunnel support means enabling ability of parsing E-tag packet.
-This ability should be enabled before we enable filtering, forwarding,
-offloading for this specific type of tunnel::
-
- testpmd> port config 0 l2-tunnel E-tag enable
-
-Send 802.1BR packet to PF and VFs, check packet normally received.
-
- - type=0x893f - length=150 - nb_segs=1 - (outer) L2 type: Unknown
- - (outer) L3 type: IPV4 - (outer) L4 type: UDP
-
-Test Case 2: E-tag filter
-=========================
-
-Enable E-tag packet forwarding and add E-tag on VF0, Send 802.1BR packet with
-broadcast mac and check packet only received on VF0::
-
- testpmd> E-tag set forwarding on port 0
- testpmd> E-tag set filter add e-tag-id 1000 dst-pool 0 port 0
-
-Same E-tag forwarding to VF1, Send 802.1BR packet with broadcast mac and
-check packet only received on VF1::
-
- testpmd> E-tag set filter add e-tag-id 1000 dst-pool 1 port 0
-
-Same E-tag forwarding to PF0, Send 802.1BR packet with broadcast mac and
-check packet only received on PF::
-
- testpmd> E-tag set filter add e-tag-id 1000 dst-pool 2 port 0
-
-Remove E-tag, Send 802.1BR packet with broadcast mac and check packet not
-received::
-
- testpmd> E-tag set filter del e-tag-id 1000 port 0
-
-Test Case 3: E-tag insertion
-============================
-
-Enable E-tag insertion in VF0, send normal packet to VF1 and check forwarded
-packet contain E-tag::
-
- testpmd> E-tag set insertion on port-tag-id 1000 port 0 vf 0
-
-Test Case 4: E-tag strip
-========================
-
-Enable E-tag strip on PF, Send 802.1BR packet to VF and check forwarded packet
-without E-tag::
-
- testpmd> E-tag set stripping on port 0
-
-Disable E-tag strip on PF, Send 802.1BR packet and check forwarded packet with
-E-tag::
-
- testpmd> E-tag set stripping off port 0
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dts] [PATCH V1 2/3] test_plans/index: delete etag_test_plan Field
2021-08-19 11:35 [dts] [PATCH V1 0/3] remove etag test plan and testsuite Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 1/3] test_plan/etag_test_plan: remove this test plan Yan Xia
@ 2021-08-19 11:35 ` Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 3/3] tests/etag: remove testsuite Yan Xia
2 siblings, 0 replies; 5+ messages in thread
From: Yan Xia @ 2021-08-19 11:35 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
remove etag_test_plan Field based on dpdk commit-id cf47acc0f(remove L2 tunnel offload control API E-tag set)
and 99a1b6895(remove API to config L2 tunnel EtherType port config all l2-tunnel E-tag xxx).
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
test_plans/index.rst | 1 -
1 file changed, 1 deletion(-)
diff --git a/test_plans/index.rst b/test_plans/index.rst
index 48e0a444..878330e7 100644
--- a/test_plans/index.rst
+++ b/test_plans/index.rst
@@ -80,7 +80,6 @@ The following are the test plans for the DPDK DTS automated test system.
dynamic_flowtype_test_plan
dynamic_queue_test_plan
eeprom_dump_test_plan
- etag_test_plan
external_memory_test_plan
external_mempool_handler_test_plan
fdir_test_plan
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dts] [PATCH V1 3/3] tests/etag: remove testsuite
2021-08-19 11:35 [dts] [PATCH V1 0/3] remove etag test plan and testsuite Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 1/3] test_plan/etag_test_plan: remove this test plan Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 2/3] test_plans/index: delete etag_test_plan Field Yan Xia
@ 2021-08-19 11:35 ` Yan Xia
2021-08-27 7:56 ` Tu, Lijuan
2 siblings, 1 reply; 5+ messages in thread
From: Yan Xia @ 2021-08-19 11:35 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
remove etag testsuite based on dpdk commit-id cf47acc0f(remove L2 tunnel offload control API E-tag set)
99a1b6895(remove API to config L2 tunnel EtherType port config all l2-tunnel E-tag xxx).
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
tests/TestSuite_etag.py | 407 ----------------------------------------
1 file changed, 407 deletions(-)
delete mode 100644 tests/TestSuite_etag.py
diff --git a/tests/TestSuite_etag.py b/tests/TestSuite_etag.py
deleted file mode 100644
index f165c91d..00000000
--- a/tests/TestSuite_etag.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# BSD LICENSE
-#
-# Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-# * Neither the name of Intel Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-'''
-DPDK Test suite.
-
-'''
-
-import re
-import time
-import sys
-
-import utils
-from qemu_kvm import QEMUKvm
-from test_case import TestCase
-from pmd_output import PmdOutput
-from exception import VerifyFailure
-
-from scapy.utils import rdpcap
-
-from packet import Packet
-
-VM_CORES_MASK = 'all'
-
-class TestEtag(TestCase):
- supported_vf_driver = ['pci-stub', 'vfio-pci']
- def set_up_all(self):
- self.dut_ports = self.dut.get_ports(self.nic)
- self.verify(self.nic in ['sagepond','sageville'], '802.1BR only support by sagepond and sageville')
- self.verify(len(self.dut_ports) >= 1, 'Insufficient ports')
- self.src_intf = self.tester.get_interface(self.tester.get_local_port(0))
- self.src_mac = self.tester.get_mac(self.tester.get_local_port(0))
- self.dst_mac = self.dut.get_mac_address(0)
- self.vm0 = None
- self.printFlag = self._enable_debug
- self.dut.send_expect('ls', '#')
- self.setup_vm_env_flag = 0
- self.preset_host_cmds = list()
-
- def set_up(self):
- pass
-
- def setup_vm_env(self, driver='default'):
- '''
- setup qemu virtual environment
- '''
- if self.setup_vm_env_flag == 1:
- return
-
- self.used_dut_port_0 = self.dut_ports[0]
- self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 2, driver=driver)
- self.sriov_vfs_port_0 = self.dut.ports_info[self.used_dut_port_0]['vfs_port']
-
- # set vf assign method and vf driver
- self.vf_driver = self.get_suite_cfg()['vf_driver']
- if self.vf_driver is None:
- self.vf_driver = 'pci-stub'
- self.verify(self.vf_driver in self.supported_vf_driver, "Unspported vf driver")
- if self.vf_driver == 'pci-stub':
- self.vf_assign_method = 'pci-assign'
- else:
- self.vf_assign_method = 'vfio-pci'
- self.dut.send_expect('modprobe vfio-pci', '#')
-
- try:
- for port in self.sriov_vfs_port_0:
- port.bind_driver(self.vf_driver)
-
- time.sleep(1)
- vf0_prop = {'opt_host': self.sriov_vfs_port_0[0].pci}
- vf1_prop = {'opt_host': self.sriov_vfs_port_0[1].pci}
-
- # start testpmd without the two VFs on the host
- self.host_testpmd = PmdOutput(self.dut)
- eal_param = '-b %(vf0)s -b %(vf1)s' % {'vf0': self.sriov_vfs_port_0[0].pci,
- 'vf1': self.sriov_vfs_port_0[1].pci}
-
- self.preset_host_testpmd(VM_CORES_MASK, eal_param)
-
- # set up VM0 ENV
- self.vm0 = QEMUKvm(self.dut, 'vm0', 'vf_etag')
- self.vm0.set_vm_device(driver=self.vf_assign_method, **vf0_prop)
- self.vm0.set_vm_device(driver=self.vf_assign_method, **vf1_prop)
- self.vm_dut_0 = self.vm0.start()
- if self.vm_dut_0 is None:
- raise Exception('Set up VM0 ENV failed!')
-
- except Exception as e:
- print(e)
- self.destroy_vm_env()
- raise Exception(e)
-
- def destroy_vm_env(self):
- #destroy testpmd in vm0
- if getattr(self, 'vm0_testpmd', None) and self.vm0_testpmd:
- self.vm0_testpmd.execute_cmd('stop')
- self.vm0_testpmd.execute_cmd('quit', '# ')
- self.vm0_testpmd = None
-
- #destroy vm0
- if getattr(self, 'vm0', None) and self.vm0:
- self.vm0_dut_ports = None
- self.vm0.stop()
- self.vm0 = None
-
- #destroy host testpmd
- if getattr(self, 'host_testpmd', None):
- self.host_testpmd.execute_cmd('quit', '# ')
- self.host_testpmd = None
-
- # reset used port's sriov
- if getattr(self, 'used_dut_port_0', None):
- self.dut.destroy_sriov_vfs_by_port(self.used_dut_port_0)
- port = self.dut.ports_info[self.used_dut_port_0]['port']
- port.bind_driver()
- self.used_dut_port_0 = None
-
- # bind used ports with default driver
- for port_id in self.dut_ports:
- port = self.dut.ports_info[port_id]['port']
- port.bind_driver()
- self.setup_vm_env_flag = 0
-
- def check_packet_transmission(self, pkt_types):
- time.sleep(1)
- for pkt_type in list(pkt_types.keys()):
- intf = self.src_intf
- pkt = Packet(pkt_type=pkt_type)
- # set packet every layer's input parameters
- if 'layer_configs' in list(pkt_types[pkt_type].keys()):
- pkt_configs = pkt_types[pkt_type]['layer_configs']
- if pkt_configs:
- for layer in list(pkt_configs.keys()):
- pkt.config_layer(layer, pkt_configs[layer])
- pkt.send_pkt(self.tester, tx_port=self.src_intf)
-
- # check vm testpmd packet received information
- if 'vm' in list(pkt_types[pkt_type].keys()):
- out = self.vm0_testpmd.get_output(timeout=2)
- if self.printFlag: # debug output
- print(out)
- for pkt_attribute in pkt_types[pkt_type]['vm']:
- if self.printFlag:# debug output
- print(pkt_attribute)
- if pkt_attribute not in out:
- print(utils.RED('Fail to detect %s' % pkt_attribute))
- if not self.printFlag:# print out all info in debug mode
- raise VerifyFailure('Failed to detect %s' % pkt_attribute)
- print(utils.GREEN('VM detected %s successfully' % pkt_type))
-
- # check dut testpmd packet received information
- if 'dut' in list(pkt_types[pkt_type].keys()):
- out = self.host_testpmd.get_output(timeout=2)
- if self.printFlag: # debug output
- print(out)
- for pkt_attribute in pkt_types[pkt_type]['dut']:
- if self.printFlag:# debug output
- print(pkt_attribute)
- if pkt_attribute not in out:
- print(utils.RED('Fail to detect %s' % pkt_attribute))
- if not self.printFlag:# print out all info in debug mode
- raise VerifyFailure('Failed to detect %s' % pkt_attribute)
- print(utils.GREEN('DUT detected %s successfully' % pkt_type))
- time.sleep(1)
-
- def preset_host_testpmd(self, core_mask, eal_param):
- if self.setup_vm_env_flag == 0:
- self.host_testpmd.start_testpmd(core_mask,
- param='--port-topology=loop',
- eal_param=eal_param)
- self.execute_host_testpmd_cmd(self.preset_host_cmds)
- self.preset_host_cmds = list()
- time.sleep(2)
-
- def execute_host_testpmd_cmd(self, cmds):
- if len(cmds) == 0:
- return
- for item in cmds:
- if len(item) == 2:
- self.host_testpmd.execute_cmd(item[0], int(item[1]))
- else:
- self.host_testpmd.execute_cmd(item[0])
-
- time.sleep(2)
-
- def preset_guest_testpmd(self):
- if self.setup_vm_env_flag == 0:
- self.vm0_testpmd = PmdOutput(self.vm_dut_0)
- self.vm0_testpmd.start_testpmd(VM_CORES_MASK, param='--port-topology=loop')
- time.sleep(1)
- elif self.vm0_testpmd:
- self.vm0_testpmd.quit()
- self.vm0_testpmd.start_testpmd(VM_CORES_MASK, param='--port-topology=loop')
- time.sleep(1)
-
- def execute_guest_testpmd_cmd(self, cmds):
- if len(cmds) == 0:
- return
- for item in cmds:
- if len(item) == 2:
- self.vm0_testpmd.execute_cmd(item[0], int(item[1]))
- else:
- self.vm0_testpmd.execute_cmd(item[0])
-
- def preset_test_enviroment(self):
- self.setup_vm_env(driver='igb_uio')
- self.preset_guest_testpmd()
- self.setup_vm_env_flag = 1
- time.sleep(2)
-
- def test_l2_tunnel_filter(self):
- '''
- Enable E-tag l2 tunnel support means enabling ability of parsing E-tag packet.
- This ability should be enabled before we enable filtering, forwarding,
- offloading for this specific type of tunnel.
- '''
- host_cmds =[['port config 0 l2-tunnel E-tag enable'],
- ['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- guest_cmds = [['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- config_layers = {'ether': {'src': self.src_mac},
- 'etag': {'ECIDbase': 1000}}
- pkt_types = {'ETAG_UDP': {'dut':['type=0x893f'],
- 'vm':['type=0x893f'],
- 'layer_configs': config_layers}}
-
- self.preset_test_enviroment()
- self.execute_host_testpmd_cmd(host_cmds)
- self.execute_guest_testpmd_cmd(guest_cmds)
- self.check_packet_transmission(pkt_types)
-
- def test_etag_filter(self):
- '''
- when E-tag packet forwarding and add E-tag on VF0
- '''
- test_types = ['etag_pf', 'etag_remove', 'etag_vf_0', 'etag_vf_1']
- host_cmds = [['port config 0 l2-tunnel E-tag enable'],
- ['E-tag set forwarding on port 0']]
- self.preset_test_enviroment()
- self.execute_host_testpmd_cmd(host_cmds)
- for test_type in test_types:
- host_cmds = list()
- guest_cmds = [['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- if test_type == 'etag_pf':
- # Same E-tag forwarding to PF0, Send 802.1BR packet with broadcast mac and
- # check packet only received on PF
-
- host_cmds = [['E-tag set filter add e-tag-id 1000 dst-pool 2 port 0'],
- ['set fwd mac'],
- ['set verbose 1'],
- ['start']]
- # set packet type and its expecting result
- config_layers = {'ether': {'src': self.src_mac, 'dst': self.dst_mac},
- 'etag': {'ECIDbase': 1000}}
- pkt_types = {'ETAG_UDP': {'dut':['type=0x893f'],
- 'layer_configs': config_layers}}
- elif test_type == 'etag_remove':
- # Remove E-tag, Send 802.1BR packet with broadcast mac and check packet not
- # received
- host_cmds = [ ['E-tag set filter del e-tag-id 1000 port 0'],
- ['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- config_layers = {'ether': {'src': self.src_mac},
- 'etag': {'ECIDbase': 1000}}
- pkt_types = {'ETAG_UDP': {'vm':[''],
- 'dut':[''],
- 'layer_configs': config_layers}}
- else:
- # Same E-tag forwarding to VF0, Send 802.1BR packet with broadcast mac and
- # check packet only received on VF0 or VF1
- host_cmds = [['E-tag set filter add e-tag-id 1000 dst-pool %d port 0'% int(test_type[-1:])],
- ['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- config_layers = {'ether': {'src': self.src_mac},
- 'etag': {'ECIDbase': 1000}}
- pkt_types = {'ETAG_UDP': {'vm':['type=0x893f'],
- 'layer_configs': config_layers}}
-
- self.execute_host_testpmd_cmd(host_cmds)
- self.execute_guest_testpmd_cmd(guest_cmds)
- self.check_packet_transmission(pkt_types)
- self.host_testpmd.execute_cmd('E-tag set forwarding off port 0')
-
- def test_etag_insertion(self):
- '''
- When E-tag insertion enable in VF0
- '''
- host_cmds =[['port config 0 l2-tunnel E-tag enable'],
- ['E-tag set insertion on port-tag-id 1000 port 0 vf 0'],
- ['set fwd mac'],
- ['set verbose 1'],
- ['start']]
- guest_cmds = [['set fwd mac'],
- ['set verbose 1'],
- ['start']]
- self.preset_test_enviroment()
- self.execute_host_testpmd_cmd(host_cmds)
- self.execute_guest_testpmd_cmd(guest_cmds)
-
- self.vm0_dut_ports = self.vm_dut_0.get_ports('any')
- config_layers = {'ether': {'src': self.src_mac}}
- pkt_types = {'IP_RAW': {'layer_configs': config_layers}}
-
- intf = self.src_intf
- inst = self.tester.tcpdump_sniff_packets(intf)
-
- self.check_packet_transmission(pkt_types)
- time.sleep(1)
- pkts = self.tester.load_tcpdump_sniff_packets(inst)
- self.host_testpmd.execute_cmd('E-tag set insertion off port 0 vf 0')
-
- # load sniff pcap file, check received packet's content
- packetContentFile = "/tmp/packetContent.log"
- pcap_file = "/tmp/tester/sniff_%s.pcap" % intf
- fp = open(packetContentFile, 'w')
- backup_out = sys.stdout
- sys.stdout = fp
- pkts = rdpcap(pcap_file)
- pkts.show()
- fp.close()
- sys.stdout = backup_out
- fp = open(packetContentFile, 'r')
- out = fp.read()
- fp.close()
- if self.printFlag:# debug output
- print(out)
- self.verify( "Dot1BR" in out, "tester %s hasn't receiver etag packet"% intf)
-
- def test_etag_strip(self):
- '''
- When E-tag strip enable on PF
- '''
- host_cmds =[['port config 0 l2-tunnel E-tag enable'],
- ['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- guest_cmds = [['set fwd rxonly'],
- ['set verbose 1'],
- ['start']]
- config_layers = {'ether': {'src': self.src_mac},
- 'etag': {'ECIDbase': 1000}}
- pkt_types_on = {'ETAG_UDP': {'vm':['type=0x0800', 'type=0x893f'],
- 'layer_configs': config_layers}}
- pkt_types_off = {'ETAG_UDP': {'vm':['type=0x893f', 'type=0x893f'],
- 'layer_configs': config_layers}}
-
- self.preset_test_enviroment()
- self.execute_host_testpmd_cmd(host_cmds)
- self.execute_guest_testpmd_cmd(guest_cmds)
- # Enable E-tag strip on PF, Send 802.1BR packet to VF and check forwarded packet without E-tag
- self.host_testpmd.execute_cmd('E-tag set stripping on port 0')
- self.check_packet_transmission(pkt_types_on)
-
- # Disable E-tag strip on PF, Send 802.1BR packet and check forwarded packet with E-tag
- self.host_testpmd.execute_cmd('E-tag set stripping off port 0')
- self.check_packet_transmission(pkt_types_off)
-
- def tear_down(self):
- pass
-
- def tear_down_all(self):
- if self.setup_vm_env_flag == 1:
- self.destroy_vm_env()
-
- if getattr(self, 'vm0', None):
- self.vm0.stop()
-
- for port_id in self.dut_ports:
- self.dut.destroy_sriov_vfs_by_port(port_id)
-
- self.tester.send_expect("kill -9 $(ps aux | grep -i qemu | grep -v grep | awk {'print $2'})", '# ', 5)
-
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dts] [PATCH V1 3/3] tests/etag: remove testsuite
2021-08-19 11:35 ` [dts] [PATCH V1 3/3] tests/etag: remove testsuite Yan Xia
@ 2021-08-27 7:56 ` Tu, Lijuan
0 siblings, 0 replies; 5+ messages in thread
From: Tu, Lijuan @ 2021-08-27 7:56 UTC (permalink / raw)
To: Xia, YanX, dts; +Cc: Xia, YanX
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Yan Xia
> Sent: 2021年8月19日 19:35
> To: dts@dpdk.org
> Cc: Xia, YanX <yanx.xia@intel.com>
> Subject: [dts] [PATCH V1 3/3] tests/etag: remove testsuite
>
> remove etag testsuite based on dpdk commit-id cf47acc0f(remove L2 tunnel
> offload control API E-tag set) 99a1b6895(remove API to config L2 tunnel
> EtherType port config all l2-tunnel E-tag xxx).
>
> Signed-off-by: Yan Xia <yanx.xia@intel.com>
Applied the series, thanks
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-08-27 7:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19 11:35 [dts] [PATCH V1 0/3] remove etag test plan and testsuite Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 1/3] test_plan/etag_test_plan: remove this test plan Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 2/3] test_plans/index: delete etag_test_plan Field Yan Xia
2021-08-19 11:35 ` [dts] [PATCH V1 3/3] tests/etag: remove testsuite Yan Xia
2021-08-27 7:56 ` Tu, Lijuan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).