LAN$HELP.HLB  —  XX SDA command
    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
Close Help