Library /sys$common/syshlp/LAN$HELP.HLB  —  XX SDA command, START  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  –  Parameters

    device-name

    Specifies a device to be used for the test.

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.

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)
Close Help