•   Netprobe Test/diagnostic software

    for IEEE 1355 DS link networks.

    A Brief Description

    R.W. Dobinson R. Heeley N.A.H. Madsen

    B. Martin D.A. Thornley

    CERN, June 1997

     

    Introduction

    To encourage the use of IEEE 1355 link technology the necessary low level software support is provided for in this package.
    All DS link devices that are supported by Netprobe are controlled and programmed via two control links: a control up and a control down link. For example, the control links on the STC104 switch allow access to the status of the network even though the normal data network may be in error. Peek and Poke commands can be sent as packets along the control network from the host controller (running Netprobe) to access status registers within the devices.
    The control network can also be used by DS link devices to report errors back to the host controller. An error message is transmitted as a single packet which includes an error code to identify the error.
    Control links can be connected in a daisy chain to each other or STC104 switches can be used to form tree structured control networks.
    Such a control fan-out provides more tolerance to faults within the control network and packets from the host controller have to pass through fewer devices than for a control network consisting of a single daisy chain. 

    Overview

    Netprobe provides the following functionality for devices connected in a DS control network:
    * access to the registers in all network devices
    * spy the network i.e. report to the user the devices in a given physical network and their interconnection. The results may be reported in tabular form or in a network definition language (NDL).
    * verify the network i.e. verify that a physical network matches a given configuration specified by the user. The configuration specified by the user may be in tabular form or in the NDL language.
    * configure the network

    Spying a DS link Network

    The spy command reports to the user the devices in a given physical network and their interconnection.
    By default the spy command produces a table of the format shown in table 1.1. The spy table contains information on all devices discovered in the network control chain. The device type and revision is displayed and the link's connection is displayed, i.e. whether they are empty "....", connected to an edge "EDGE", connected to the host "HOST" or connected to another link "0:17" (meaning this link is connected to link 17 on device 0). Ctrl0 and Ctrl 1 refer to the control up link and control down link respectively.

    -------------------------------SPY-------------------------------------

    Device

    Revision

    Ctrl0

    Ctrl1

    Link0

    Link1

    Link2

    Link3 

    0: C104

    BetaB02 

    HOST

    ....

    ....

    ....

    ....

    ....

    + 4 

    .

    .

    .

    ....

    ....

    ....

    ....

    + 8 

    .

    .

    .

    ....

    ....

    ....

    ....

    + 12

    .

    .

    .

    ....

    ....

    ....

    ....

    + 16 

    .

    .

    .

    0:17

    0:16

    ....

    ....

    + 20

    .

    .

    .

    ....

    ....

    ....

    ....

    + 24

    .

    .

    .

    ....

    ....

    ....

    ....

    + 28

    .

    .

    .

    ....

    ....

    ....

    ....

    Table 1.1: Example tabular output from spy

    With the option 'gndl' it is possible to have the spy produce an NDL file representing the network. Labelling information is not included and must be added by the user or by an automatic labeling tool. There is also an option to specify the speed of the data and control link while they are being spied on. 

    Verifing a DS link Network

    The verify command takes a network description (NDL) file or a previous spy output table and verifies that a physical network matches the description contained within the NDL file or the previous spy output table.
    If the verify confirms that the input is consistent it starts to explore the network one device at a time. The device is started, identified, configured with routing information if required and all connected links are started.
    The verify table is basically the spy table with some additional information. This extra information informs the user whether or not the information in the input file was succesfully verified.
     

    -----------------------------------------VERIFIER-------------------------------------------------

    Device

    Revision

    Ctrl0

    Ctrl1

    Link0

    Link1

    Link2

    Link3

    OK

    0: C104

    BetaB02

    HOST 

    .... 

    .... 

    .... 

    .... 

    .... 

    + 4

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 8 

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 12

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 16

    .

    .

    .

    0:17

    0:16

    ....

    ....

    .

    + 20

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 24

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 28

    .

    .

    .

    ....

    ....

    ....

    ....

    .

        Table 1.2: Successfully verified network

    Table 1.2 shows the senario where every thing in the input configuration was found to be present in the physical network. In table 1.3 we see an example of a network which contains the correct device, but the connection has not been found.This has been marked with a minus sign '-' in front of the connections. The `OK' column has been marked with an asterix '*' indicating that this device was not identical to the input configuration.

    -----------------------------------------VERIFIER-------------------------------------------------  

    Device

    Revision

    Ctrl0

    Ctrl1

    Link0

    Link1

    Link2

    Link3

    OK

    0: C104

    BetaB02

    HOST 

    .... 

    .... 

    .... 

    .... 

    .... 

    + 4

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 8 

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 12

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 16

    .

    .

    .

    -0:17

    -0:16

    ....

    ....

    .

    + 20

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 24

    .

    .

    .

    ....

    ....

    ....

    ....

    .

    + 28

    .

    .

    .

    ....

    ....

    ....

    ....

    .

      Table 1.3: Missing connection

    Configuring a DS Link Network

    The configure command allows the user to configure a pure STC104 network described by an NDL description or a DS Link network (including T9000s) described by a Network Initialisation file (NIF). A NIF file is a binary representation of an NDL file which contains the same information. We suggest that only NDL files be used to configure the network since they are the only format which is supported by all host systems.
    In addition, the configure using NDL gives useful information on the state of devices in the case of an error configuring the network, no errors are reported when using the configure from NIF. This is not a limitation since NIF is produced from NDL, so any user who produces a NIF file will already have an NDL description of the network.
    In general a user produces a description of the network in NDL. This can be written by the user or generated automatically by the Netprobe tool. The NDL file produced by Netprobe does not include labelling information required for the switches in the network. A separate 'AutoLabel' tool must add labelling information to the file before it can be used to configure the network.
    The following list provides further details on the information and commands STC104 switches receive during configuration:
    * The STC104 is started and identified
    * The link speed is set
    * All registers containing labelling information are cleared
    * All labelling information is entered into the appropriate registers
    * All information required for adaptive routing and universal routing is entered into the appropriate registers
    * A configuration complete command is sent to the STC104 which signifies that the configuration registers are configured
    * All connected links are started,
    Having configured and started the network all the data links which are connected are checked for the following: they are started correctly, have recieved tokens and are not in error. 

    The Netprobe Environment

    Netprobe requires one of the following host systems to access a DS network:
    an SGSThomson B103 Ethernet to DS link interface using a Sun workstation (SunOS or Solaris) or an FPGA based PCI-DS link interface using a PC running Linux.
    Having started Netprobe, the user is introduced to the Netprobe prompt from which Netprobe commands can be issued. The prompt contains information about the current selected device. When no device is started the prompt is: "Netprobe?". When a device is started the prompt takes the form: e.g. "Netprobe dev 2:C104?" informing the user that the current device is a C104 and that its device id is 2. 

    Online Help

    There are two sets of online help which can be accessed from the Netprobe command line. The first set of help pages are accessed using the 'help' command. Help provides information for any command by typing help !commandname?. Typing help with no arguments will print a help page which gives a list of Netprobe commands and an example Netprobe session
    Another set of help pages can be accessed using the 'registerhelp' command. Typing registerhelp with no arguments will give a complete list of configuration registers accessible in DS link devices and the function of each.
    Typing registerhelp<registername> will return further information about that register and examples will be given of how that register can be accessed. 

    The Commands

    Netprobe    invoke Netprobe executable
    allreg  cpeek all registers 
    allpacketreg  cpeek all packet registers 
    boot  Send T9000 boot command 
    bootdata Send T9000 boot data command
    btl  Load the network.
    configure Configure the network
    connect  connects to a DS-Link resource
    cpeek  send cpeek command, print return value 
    cpoke  send cpoke command
    ctrllnkreg  cpeek all control link registers
    datalnkreg cpeek all data link registers
    dbg  turn on debug mode
    device <device no>  select current device 
    disconnect  disconnects Netprobe from a DS-link network.
    halt  halt processors
    hardreset  hardware reset network
    help  online help
    identify send identify command
    info  turn on info mode 
    intervalreg  cpeek all interval registers 
    labelled  obtain the labelling of the network
    list  return current device information
    packetreg  cpeek the mode and the command packet registers 
    peek  send t9000 peek command, print returned value
    poke send t9000 poke command
    quit  quit Netprobe
    randomreg cpeek all randomize registers 
    reboot  send T9000 reboot from ROM command 
    recovererror  send recover from link error 
    registerhelp get help on register content etc 
    reset  send reset command
    run  send t9000 run command 
    serve serve on disconnect 
    spy  spy the network
    start  send start command to next device 
    starttrace Start tracing the calls to the DS-Link network
    stop send t9000 stop command 
    stoptrace Stop tracing the calls to the DS-Link network
    systemservicere cpeek all system service registers
    time Unix time call 
    verify    verify the network