This command executes the LAN exerciser. By default this image is loaded from SYS$SHARE. However, it can be redirected with the following logical: $ define xx$sda [dir-spec]xx$sda.exe Format: SDA> xx command
1 – EXAMINE
This command displays information about LAN structures (mainly VCRPs). It is an extension of the SDA> FORMAT command. Format: SDA> xx examine address
1.1 – Parameters
Address Address to examine (64 or 32 bit format and symbols)
1.2 – Qualifiers
None.
1.3 – Examples
SDA> xx examine 81667D40 XX$SDA: EXAMINE FFFFFFFF.81667D40 size = 9664 type = 78 subtype = 0 FFFFFFFF.81667D48: VCRP$W_SIZE 25C0 FFFFFFFF.81667D94: VCRP$L_BOFF 00000000 FFFFFFFF.81667D98: VCRP$L_BCNT 00000000 FFFFFFFF.81667F28: VCRP$A_LAN_802XMT/CT 0000 FFFFFFFF.81667F2A: VCRP$A_LAN_802XMT/CT 00 FFFFFFFF.81667F2A: VCRP$A_LAN_802XMT/DS 00 FFFFFFFF.81667F2C: VCRP$A_LAN_T_RESP 00000000 FFFFFFFF.81667E04: VCRP$A_LAN_R_HEADER 00000000 FFFFFFFF.81667E0C: VCRP$L_FUNCTION 00000005 RECEIVE FFFFFFFF.81667F20: VCRP$Q_LAN_T_DEST 00000000 00-00-00-00-00-00 FFFFFFFF.81667D84: VCRP$A_DEALLOC_RTN 00000000 FFFFFFFF.81667D90: VCRP$L_BUFFER_ADDRES 81667FC0 -- buffer data starting at [vcrp + vcrp$l_boff] -- FFFFFFFF.81667D40: DA: 80-57-66-81-20-A4 FFFFFFFF.81667D46: SA: 49-86-C0-25-4E-00 FFFFFFFF.81667D4C: PTY: 00-00
2 – HELP
This command displays help data for the XX SDA extension. Format: SDA> xx help
3 – LOAD
This command loads XXDRIVER on the system. After loading XXDRIVER, a test can be started. Format: SDA> xx load
3.1 – Parameters
None.
3.2 – Qualifiers
None.
4 – SHOW
Displays XX device and test information. Format: SDA> XX SHOW
4.1 – Parameters
None.
4.2 – Qualifiers
None.
4.3 – Examples
SDA> xx show XX$SDA: Device Information XXA0: UCB = 81D31B80 %SDA-W-NOREAD, unable to access location 00000000.00000000 VCIB address 81D31E00 Test IRP 00000000 VCIB id 00000000 Test VCRP 81D31EC0 Port state DISABLED Portlock 81D71380 This sections displays information about the Active cpus 00000000 TEST IP STOPPED operating state of XXA0: device. The port state fork pending 00000000 Fork Block 81D32140 field is the state of the VCI user, disabled in rcv fork pending 00000000 RCV Fork block 81D32170 this case. TEST IP, is the status of the test. <> 00000000 VCRP queue 81D321B0 xmt outstanding is the number of unfinished VCRPs free vcrps 00000000 VCRP rcv queue 81D321C0 held by the NIC. If XXDRIVER found a failure, it buffer offset 0000024E header size 0000000E would be displayed in the failure status and xmt outstanding 00000000 xmt rate 000927C4 RA (return address on XXDRIVER). Loop outstanding number of forks 000AFF81 Physical address Undefined is the number of request waiting for response from MIN test size 00000042 Start time 00000000 the remote target device. Unavailable user buffer is Failure status 00000000 failure RA 00000000 the number of request the LAN layer was no able to loop outstanding 00000000 Unavail user buffe 00000000 deliver to XXDRIVER. XX$SDA: Test Command Information: command address 81D31CE0 Test device EWB Target Address 00-60-CF-21-4A-EA User 00000560 function 00200000 function is LOOP This sections summarizes the command received by duration 00000000 count 000927C0 XXDRIVER. See help on command START DEVICE for align 00000000 chain 00000000 explanation of the fields compare 00000000 flow 00000000 pipeline 00000020 rate 00000000 loopline 000003E8 <> 00000000 size 1 00000021 size 2 00000021 stop on error 00000000 stop on lost 00000000 XX$SDA: Test status Information: decimal packets sent 600004 packets received 600004 bytes sent 19800132 bytes received 27600184 This section summarizes the status of errors sent 0 errors received 0 test and it is used to obtain the compare-errors 0 errors-lost 0 results show in the next section sequence-errors 0 start time 00A53EB5.5EB79452 Soft tick 9765 <> 00000000 current-time 00000000.00000000 stop time 00A53EB5.67828DC1 Kernel ticks 00000000.000016E1 spin ticks 00000000.00000000 Idle ticks 00000000.00005F25 start rscc 0005882A.5C836651 Stop rscc 0005882D.CBDB6BB5 xmt rscc 00000006.93F741EC XX$SDA: Test results Information: CPS = 1000000000 duration 14.75 duration rscc 14.75 This section displays the results of Ker/intr/other tim 38.770 % Spin Time 0.000 % test. Idle time 161.230 % <> packets sent/sec 40.67 Kilo packets received/s 40.67 Kilo bytes sent/sec 1.31 Mega bytes received/sec 1.83 Mega time/IO [usec] 24.5881 LAN time/IO [usec] 1.4715
5 – START
This command sends a START TEST signal to XXA0. Format: SDA> XX START DEVICE device-name
5.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
5.1.1 – Parameters
device-name Specifies a device to be used for the test.
5.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.
5.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)
6 – STOP
This command sends a STOP signal to XXA0 to stop all tests, which includes stopping the VCI user associated with any test. It has the same effect as CONTROL-C or CONTROL-Y. Format: SDA> xx stop
6.1 – Parameters
None.
6.2 – Qualifiers
None.
7 – Multicast
This is a list of multicast addresses, with the Ethernet protocol type most commonly associated with them. FF-FF-FF-FF-FF-FF any This is the broadcast address AB-00-00-01-00-00 6001 Maintenance Operation Protocol (MOP) Dump/Load Assistance AB-00-00-02-00-00 6002 Maintenance Operation Protocol (MOP) Remote Console AB-00-00-03-00-00 6003 DECNET Phase IV end node Hello packets AB-00-00-04-00-00 6003 DECNET Phase IV Router Hello packets AB-00-00-05-00-00 ???? Reserved to VSI through AB-00-03-FF-FF-FF AB-00-03-00-00-00 6004 Local Area Transport (LAT) - old AB-00-04-00-xx-xx ???? Reserved for customer private use AB-00-04-01-xx-yy 6007 Local Area VMSCluster groups System Communication Architecture (SCA)
8 – Ethertypes
This is a list of ethernet protocol types: Protocol Type Description ------------- ----------- 0000-05DC IEEE802.3 Length Field 08-00 Internet IP (IPv4) 08-06 ARP 60-01 MOP Dump/Load 60-02 MOP Remote Console 60-03 DECNET Phase IV Route 60-04 LAT 60-05 Diagnostic Protocol 60-06 Reserved for customer protocol 60-07 LAVC, SCA 65-58 Trans Ether Bridging 65-59 Raw Frame Relay 80-35 Reverse ARP 80-38 LANBridge 80-3D Ethernet Encryption 80-3F LAN Traffic Monitor 90-00 Loopback 90-01 3Com(Bridge) XNS Sys Mgmt 90-02 3Com(Bridge) TCP-IP Sys 90-03 3Com(Bridge) loop detect