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)