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
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.
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
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.
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
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.
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.
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.
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 |