This command sends a START TEST signal to XXA0. Format: SDA> XX START DEVICE device-name
1 – DEVICE
This command sends a START TEST signal to XXA0. Look under qualifiers for a full description of the test parameters. Format: SDA> XX START DEVICE device-name
1.1 – Parameters
device-name Specifies a device to be used for the test.
1.2 – Qualifiers
/LOOP=(test_parameters) Starts a LOOP test, transmitting packets as specified in the test_parameters and expecting the target to loop the packets back to the sender. /RECEIVE=(test_parameters) Starts a RECEIVE test. The RECEIVE test receives LAN request from a remote XX sender. If the sender sends LOOP request, the request will be transmitted back to the sender. /TRANSMIT=(test_parameters) Starts a TRANSMIT test. The TRANSMIT test sends LAN request as specified in the test_parameters but it does not wait for the target to respond to the request. test_parameters The test parameters are a list of comma separated keywords. vci - The test will use the LAN VCIB interface qio - The test will use the LAN QIO interface Note: These two parameters are exclusive, the tester has to choose one or the other. alignment = integer-value (default is zero) This is the number extra of bytes to add before the beginning of the user data. It is used to change the byte alignment of the address of the user buffer (payload). This parameter is only meaningful for LOOP and TRANSMIT test, and should not affect the receiver. Note that default zero, will cause alignment faults! Alignment faults can be avoided by setting this parameter to 2. amc noamc - all multicast mode (default is no amc) Sets the LAN device in all multicast mode allowing to receive ALL multicast requests. Tis parameter is only valid for QIO/RECEIVE test. chaining = integer-value (default is zero, no segmentation) Segment a request into smaller sections. Each segment is sent switching buffer address between Virtual Address and PTE. This parameter is only meaningful for LOOP and TRANSMIT test, and should not affect the receiver. compare nocompare (default is no compare) Do data integrity check on the user buffer. This parameter is only meaningful for RECEIVE and LOOP tests. count = integer-value (default is zero, do not stop on counter) Number of packets to process before stopping the test. duration = integer-value (default is zero, do not stop on time) Number of seconds to run before stopping the test. echo = echo-keyword This parameter is only valid when used with QIO parameter and for RECEIVE test only. It displays the information about the a receive packet. The echo-keyword are: full - displays the entire content of the receive packet header - displays only the header information none - displays no information partial - displays partial information filter_pty = protocol-type filter_sap = sap-type filter_pid = pid-type filter_address = MAC=address This parameter is only valid when used with QIO parameter and for RECEIVE test only. It displays the information about the a receive packet filtering-in according to the values specified in the parameters flow_control - reserved loopback_mode - Sets the NIC in loopback mode noloopback_mode - Default is no loopback Sets the NIC in loop back mode so transmit can be send without the need of connecting cables. No all NICs/driver support loopback mode and not all PDU sizes are supported in loopback mode. multicast_address = list-of-mac-multicast-addresses This parameter setup a list of multicast address to listen for. It is only valid with QIO/RECEIVE test. pid - IEEE 802.E PID value if sending 802.E, QIO only. pipeline = integer-value (default is 1) This is the number of simultaneous transmits a LOOP or TRANSMIT test can do. By bumping up the pipeline more data will be transmitted but at the risk of data loss in switch and/or in the receiver system. On a TRANSMIT test and depending on the NIC used, maximum data transfer will be achieved with a pipeline around 32-64. Also, a VCRP is allocated per count on the pipeline, therefore a large number for this parameter will translate in higher pool usage while the test is running. loopline = integer-value (default is 1) This is the number of outstanding transmits a LOOP test can stand while waiting for a respond from the receiver. By bumping up the loopline more data will be transmitted but at the risk of data lost in switch (mostly) and/or in the receiver system. A typical ES45 system with gigabit NIC and a typical switch will stand a pipeline of several thousands before losing packets in the switch. To understand packet loss by the target system/NIC use a point to point connection. promiscuous_mode nopromiscuous_mode (default is no promiscuous) This parameter is only valid when used with QIO parameter and for RECEIVE test only. It sets the NIC in promiscuous mode allowing to receive ALL packets the adapter is able to receive. pty = pty-value (defaults is 60-05 VMS-DIAG ) This parameter sets the user protocol for the test as defined by the IEEE ethertype Field Registration Authority. Values from 60-00 to 60-09 were originally assigned to Digital Equipment Corporation and are still used by VSI OpenVMS [60-01,60-02 MOP, 60-03 DECNET-IV, 60-04 LAT, 60-05 VMS-DIAG, 60-07 SCA] rate = integer-value (default is 0, send as fast as possible) This parameter sets the maximum number of packets to send in a single second. It is only valid for TRANSMIT and LOOP tests. sap - IEEE 802.E PID value if sending 802, QIO only size = (size-list) This a comma separated list of integer-value data sizes to send. It is only valid for TRANSMIT and LOOP tests. stop_error nostop_error - (default is no stopping) Stop the test if an error is encountered. stop_lostpacket nostop_lostpacket - (default is no stopping) Stop the test if packets get lost. target_address = (mac-address-list) This is a list of target MAC address for the LOOP and TRANSMIT tests. QIO accepts up to 4 targets, while VCI supports only one. wait (default) nowait Requires waiting for the test to finish before entering another command. The nowait parameter allows entering new commands while the test is running. fastxmt (default) nofastxmt On fastxmt mode and right after the NIC has finished a request, subsequent LOOP and TRANSMIT request will be done by calling the transmision routine rather than forking to it. This runs the risk of CPUSPINWAIT crashes. fastrcv (default) nofastrcv On fastrcv mode , receive request are processed on-line and without giving up the CPU. On non fastrcv mode, request are queued then processed by forking later on. Fast rcv mode runs the risk of CPUSPINWAIT crashes.
1.3 – Examples
(1) Start a TRANSMIT/VCI test on EWB: SDA> xx start device ewb/transmit=(vci,target=00-60-CF-21-4A-EA,count=100000,pipe=32) XX$SDA: Starting test on EWB XX$SDA: Starting test TRANSMIT on EWB Alignment 0 Chaining 0 Compare 0 Count 100000 Duration 0 Flow 0 User/PTY 00000560 Pipeline 32 Rate 0 Size 1 33 Size 2 33 Stop on er 0 Stop on lo 0 Wait 0 Fast xmt 0 Fast recei 0 loopline 1 <> 0 Targets 00-60-CF-21-4A-EA 00-00-00-00-00-00 00-00-00-00-00-00 00-00-00-00-00-00 (2) Start a RECEIVE/VCI on EWB returning control to DCL: SDA> xx start dev ewb/rec=(vci,nowait) XX$SDA: loaded XXA0 GENERIC_SCSI UCB: 818F1B40 Device status: 00000010 online Characteristics: 0C040000 avl,idv,odv 00000000 SUD Status 00000000 Owner UIC [000001,000004] Operation count 0 ORB address 8197CE40 PID 00000000 Error count 0 DDB address 8197CC40 Class/Type C8/05 Reference count 0 DDT address 8124C1A0 Def. buf. size 512 BOFF 00000000 SUD address 8197CD40 DEVDEPEND 00000000 Byte count 00000000 CRB address 8197CCC0 DEVDEPND2 00000000 SVAPTE 00000000 I/O wait queue 818F1BF8 DEVDEPND3 8197C940 DEVSTS 00000000 FLCK index 3A DLCK address 810C2600 *** I/O request queue is empty *** XX$SDA: Starting test on EWB XX$SDA: Starting test RECEIVE. on EWB Alignment 0 Chaining 0 Compare 0 Count 0 Duration 0 Flow 0 User/PTY 00000560 Pipeline 1 Rate 0 Size 1 33 Size 2 33 Stop on er 0 Stop on lo 0 Wait 0 fast xmt 0 Fast recei 0 loopline 1 <> 0 Targets 00-00-00-00-00-00 00-00-00-00-00-00 00-00-00-00-00-00 00-00-00-00-00-00 SDA> xx show 3.- Starts a LOOP/VCI on EWB returning control to DCL SDA> xx start dev ewb/loop=(vci,target=00-60-CF-21-4A-EA,count=1000,pipe=64,loopline=600000,nowait) XX$SDA: Starting test on EWB XX$SDA: Starting test LOOP. on EWB Alignment 0 Chaining 0 Compare 0 Count 1000 Duration 0 Flow 0 User/PTY 00000560 Pipeline 64 Rate 0 Size 1 33 Size 2 33 Stop on er 0 Stop on lo 0 Wait 0 fast xmt 0 Fast recei 0 loopline 600000 <> 0 Targets 00-60-CF-21-4A-EA 00-00-00-00-00-00 00-00-00-00-00-00 00-00-00-00-00-00 SDA> XX$SDA: Device Information XXA0: UCB = 81CB13C0 %SDA-W-NOREAD, unable to access location 00000000.00000000 VCIB address 81CB1640 Test IRP 00000000 VCIB id 00000000 Test VCRP 81CB1700 Port state DISABLED Portlock 81D300C0 Active cpus 00000000 TEST IP STOPPED fork pending 00000000 Fork Block 81CB1980 rcv fork pending 00000000 RCV Fork block 81CB19B0 <> 00000000 VCRP queue 81CB19F0 free vcrps 00000000 VCRP rcv queue 81CB1A00 buffer offset 0000024E header size 0000000E xmt outstanding 00000000 xmt rate 000003EE number of forks 001451CD Physical address Undefined MIN test size 00000042 Start time 00000000 Failure status 00000000 failure RA 00000000 loop outstanding 00000000 Unavail user buffe 00000000 XX$SDA: Test Command Information: command address 81CB1520 Test device EWB Target Address 00-60-CF-21-4A-EA User 00000560 function 00200000 function is LOOP duration 00000000 count 000003E8 align 00000000 chain 00000000 compare 00000000 flow 00000000 pipeline 00000040 rate 00000000 loopline 000927C0 <> 00000000 size 1 00000021 size 2 00000021 stop on error 00000000 stop on lost 00000000 XX$SDA: Test status Information: decimal packets sent 1006 packets received 1006 bytes sent 33198 bytes received 46276 errors sent 0 errors received 0 compare-errors 0 errors-lost 0 sequence-errors 0 start time 00A54037.45D273C5 Soft tick 9765 <> 00000000 current-time 00000000.00000000 stop time 00A54037.45D784AF Kernel ticks 00000000.0000000D spin ticks 00000000.00000000 Idle ticks 00000000.00000037 start rscc 00061EDA.A557F2FE Stop rscc 00061EDA.A759F1A6 xmt rscc 00000000.16710C15 XX$SDA: Test results Information: CPS = 1000000000 duration 0.03 duration rscc 0.03 Ker/intr/other tim 38.235 % Spin Time 0.000 % Idle time 161.765 % <> packets sent/sec 29.86 Kilo packets received/s 29.86 Kilo bytes sent/sec 962.44 Kilo bytes received/sec 1.34 Mega time/IO [usec] 33.4843 LAN time/IO [usec] 5.8478 SDA> 3.- Easy unicast loop task list a.- first login into a node b.- $ mc lancp show config ! to show a list of NICs c.- pick an adapter from the list VLAN26> mc lancp show config LAN Configuration: Device Parent Medium/User Version Link Speed Duplex Auto BufSize MAC Address Type Description ------ ------ ----------- ------- ---- ----- ------ ---- ------- ---------------- ------------ ----------- EWB0 Ethernet X-61 Up 1000 Full Yes 1500 00-60-CF-21-4A-EA UTP DEGPA-TA d.- start up the receiver SDA> xx start dev ewb/receive=(vci,nowait) SDA> xx show ! and search for the address in the line Physical address 00-60-CF-21-4A-EA e.- login into another node to initiate the transmitter on a given device SDA> xx start dev ewc/loop=(vci,target=00-60-CF-21-4A-EA,count=100) If the receiver does not receive, there is most likely a connectivity issue. 4.- easy unicast with QIO Follow the same steps as the example above, but for the receiver enter a multicast address such as AB-00-00-05-00-00 as follows receiver command: SDA> xx start dev ewb/rec=(qio,multicast=AB-00-00-05-00-00,echo=header) Note that if the receiver is receiving before you started a sender then the multicast address is in use by another application. sender command SDA> xx start dev ewc/trans=(qio,target=AB-00-00-05-00-00,count=1,size=100) or more safely SDA> xx start dev ewc/trans=(qio,target=AB-00-00-05-00-00,count=0,size=100,rate=2)