135. Shutdown API Queue Tests¶
This tests for Shutdown API feature can be run on linux userspace. It will check if NIC port can be stopped and restarted without exiting the application process. Furthermore, it will check if it can reconfigure new configurations for a port after the port is stopped, and if it is able to restart with those new configurations. It is based on testpmd application.
The test is performed by running the testpmd application and using a traffic generator. Port/queue configurations can be set interactively, and still be set at the command line when launching the application in order to be compatible with previous test framework.
135.1. Prerequisites¶
Assume port A and B are connected to the remote ports, e.g. packet generator. To run the testpmd application in linuxapp environment with 4 lcores, 4 channels with other default parameters in interactive mode:
$ ./<build_target>/app/dpdk-testpmd -c 0xf -n 4 -- -i
135.2. Test Case: queue start/stop¶
This case support PF (Intel® Ethernet 700 Series/Intel® Ethernet 800 Series/82599), VF (Intel® Ethernet 700 Series, 82599)
- Launch testpmd::
x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 1-2 -n 4 -a 0000:af:00.0 – -i –portmask=0x1 –port-topology=loop
Run “set verbose 1” to set verbose
Run “set fwd mac” to set fwd type
Run “start” to start fwd package
- Start a packet capture on the tester in the background::
tcpdump -i ens7 ‘ether[12:2] != 0x88cc’ -Q in -w /tmp/tester/sniff_ens7.pcap
- Start packet generator to transmit packets::
sendp([Ether(dst=‘3c:fd:fe:c1:0f:4c’, src=‘00:00:20:00:00:00’)/IP()/UDP()/Raw(load=b’XXXXXXXXXXXXXXXXXX’)],iface=”ens7”,count=4,inter=0,verbose=False)
Quit tcpdump and check tester port receive packets
Run “port 0 rxq 0 stop” to stop rxq 0 in port 0
Start packet generator to transmit and check tester port not receive packets
Run “port 0 rxq 0 start” to start rxq 0 in port 0
Run “port 0 txq 0 stop” to stop txq 0 in port 0
Start packet generator to transmit and check tester port not receive packets and in testpmd it not has “port 0/queue 0: received 1 packets” print
Run “port 0 txq 0 start” to start txq 0 in port 0
Start packet generator to transmit and check tester port receive packets and in testpmd it has “port 0/queue 0: received 1 packets” print
Test it again with VF