BNASupport Diagnostics Implementation
This
document briefly describes the implemented syntax and semantics for the
BNASupport library’s Primitive OI (POI).
Although the EX command is shown, it is not intended for customer use. Some implementation details are provided.
Syntax
<BNA
Library Mix #> AX ──────── <Diagnostic Command> ──────┤
<Diagnostic
Command> = ──┬───── BNA ──────┬──────── DUMP ──────────────┬──────┤
│ └──────── STATUS ────────────┤
│
│
├───── TXNCODE ─────── <txncode options> ─────┤
│
│
├───── DIAG ─────┬────────────────────────────┤
│ └─── <diag options> ─────────┤
│
│
├───── HELP ─────┬────────────────────────────┤
│ ├─── PLMOPTIONS ─────────────┤
│ ├─── RMOPTIONS ──────────────┤
│ └─── DUMPOPTIONS ────────────┤
│
│
└───── EX ────────────────────────────────────┘
<txncode
options> = ──┬── STATUS ───────────────────────────────────────┬────┤
│ │
└── (txnclass, txnnumber, 0) ─┬─ + ─┬─┬─ TRACE ───┤
└─ - ─┘ └─ TOUCH ───┘
<diag
options> = ──┬─ ON ───┬───┬── [ALL] ──────────────────────────────────┬──────┤
│ │
│
│
├─ OFF ──┘
├── OS ──────────── [ALL] ──────────────────┤
│ │
│
│ ├── OIM ─────────── [ALL] ──────────────────┤
│ │
│
│ ├── PLM ──┬──────── [ALL] ──────────────────┤
│ │ │ │
│ │ └─── <plm diag options> ──────────┤
│ │
│
│ └── RM ───┬──────── [ALL] ──────────────────┤
│ │ │
│ └─── <rm diag options> ───────────┤
│ │
└─ DUMP ─────┬───┬─────────┬─── [ALL] ───────────────────┤
│ ├── PLM ──┤ │
│ └── RM ───┘ │
│
│
├────── RHT ────────────────────────────────┤
│
│
├───┬── Host ─┬─ <Hostname> ────────────────┤
│ └── RHE ──┘ │
│
│
├────── CT ─────────────────────────────────┤
│
│
├───┬── PLMCluster ┬─ <Cluster Address> ────┤
│ └── CTE ───────┘
│
│
│
├────── DHT ────────────────────────────────┤
│
│
├────── DAB ────────────────────────────────┤
│
│
├───┬── Subport ─┬─┬─ <Subport Address> ─┬──┤
│
└── SPR ─────┘ └───── [ALL] ─────────┘
│
│
│
├────── DCA ────────────────────────────────┤
│
│
├───┬── Conn ────┬─┬─ <Conn Name> ───────┬──┤
│
└── RCT ─────┘ └───── [ALL] ─────────┘
│
│
│
├───┬─ RMCluster ─┬─┬─ <Cluster Address> ─┬─┤
│
└── RTC ──────┘ └───── [ALL] ─────────┘ │
│
│
└───┬── Neighbor ┬─┬─ <Cluster Address> ─┬──┘
└── RNT ─────┘ └───── [ALL] ─────────┘
<plm
diag options> = ───────────┬───┬── HOST ────┬─ <Hostname> ─────────────┬──┤
│
└── RHE ─────┘ │
│
│
├───┬── Cluster ─┬─ <Cluster Address> ──────┤
│
└── CTE ─────┘ │
│
│
├───┬── Subport ─┬─┬─ <Subport Address> ─┬──┤
│
└── SPR ─────┘ └───── [ALL] ─────────┘
│
│
│
├───┬── HostSubports ─┬─ <Hostname> ────────┤
│
├── HostSPRs ─────┤
│
│
└── HostSPs ──────┘
│
│
│
└────── IO ─────────────────────────────────┘
<rm
diag options> = ────────────┬───┬── Conn ────┬─┬─ <Conn Name> ───────┬──┬──┤
│
└── RCT ─────┘ └───── [ALL] ─────────┘
│
│
│
├───┬── Cluster ─┬─┬─ <Cluster Address> ─┬──┤
│
└── RTC ─────┘ └───── [ALL] ─────────┘
│
│
│
└───┬── Neighbor ┬─┬─ <Cluster Address> ─┬──┘
└── RNT ─────┘ └───── [ALL] ─────────┘
NOTES:
1) The only
valid delimiter between tokens is one or more blank spaces. This does not apply to addresses, where
components of the address must be delimited by commas.
2) Addresses,
such as <Cluster Address> and <Node Address>, cannot be of
abbreviated form. Rather they must be
of the form (w,x,y,z), where some of the components may be zero. [ (1,5) is not
correct in syntax; (1,5,0,0) is correct in syntax. ]
Semantics
Command Overview
There are five basic POI
commands. BNA DUMP, BNA STATUS, and
HELP are easily explained in this overview; the gory details of TXNCODE and
DIAG are then addressed.
BNA DUMP
Takes
a partial system dump.
BNA STATUS
Shows
the status of active tasks.
TXNCODE
Sets
transaction code tracing and inquiries upon the settings.
DIAG
Sets
or resets tracing diagnostics or dumps internal structures to the log. Tracing diagnostics can be set for the
entire library, selected modules,
selected structures or selected dialogs.
Structure dumps can be done for all structures, selected structures, or
structures related to a selected dialog.
HELP
Displays
the syntax of the POI commands available to the user.
EX
Activates
and communicates with the examiner remote diagnostic module (currently
unavailable).
Command Details: Help
HELP
Displays
the basic POI commands available to the user.
Details on some sommands can be obtained by using one of the HELP
options, as described below.
HELP PLMOPTIONS
Displays
the PLM options available via the DIAG ON/OFF PLM command.
HELP RMOPTIONS
Displays
the router options available via the DIAG ON/OFF RM command.
HELP DUMPOPTIONS
Displays
the options available for dumping specific structures via the DIAG DUMP
command. General dumping commands (dumping all structures, dumping the PLM
structures or dumping the RM structures) are displayed in the response to the
HELP command.
Command Details: Txncode
TXNCODE
Inquiries
on the settings of the trace and touch options.
TXNCODE (txnclass, txnnumber,
0) +/- TRACE
Sets
or resets the transaction trace option.
TXNCODE (txnclass, txnnumber,
0) +/- TOUCH
Sets
or resets the transaction touch option.
Command Details: Diag
The initial implementation of
diagnostics was to have them ON or OFF, controlled by a compile time
option. All modules (OS, PLM, RM, etc.)
had strategically placed statements that checked the setting of this flag (INTERNAL)
and logged diagnostic information if appropriate. This was strictly a “tracing” form of diagnostic.
This progressed to enhancing
the POI to enable the user to toggle this tracing diagnostic. More recently the router’s trace diagnostic
flag has been separated from the BNA global flag (INTERNAL) and many features
were added to the router to allow more selective tracing as well as to enable
the dumping of structure information to the log. In this proposal, the RM approach has been extended to the PLM,
and the syntax has been molded to blend the needs of all the modules.
The DIAG command has two
basic functions: to control tracing (ON & OFF) and to perform logging of
structure contents (DUMP). Tracing can be done on a global basis, a per-module
basis, or in relation to a specific structure (hostname, connection,
etc.). The following tables, or table
entries, can be dumped:
·
Remote Host Table (RHT)
·
Remote Host Entry (RHE)
- One entry from the RHT
·
Cluster Table (CT) - The
PLM’s cluster table
·
Cluster Table Entry
(CTE) - One entry from the CT
·
Deleted Host Table (DHT)
·
Dialog Attribute Block
Table (DAB table)
·
Subport Reference Table
(SPR table)
·
Router Connection Table
(RCT)
·
Connection - One entry
from the RCT
·
Router Table Current
(RTC)
·
Router Cluster - One
entry from the RTC
·
Router Neighbor Table
(RNT)
·
Neighbor - One entry
from the RNT
·
Destination Cluster
Address (DCA)
Note that turning ON all diagnostics via DIAG ON [ALL]
will NOT turn on the diagnostics for individual structures such as
remote host table entries or router connection table entries. However, turning OFF all diagnostics via
DIAG OFF [ALL] WILL turn off the diagnostics for all individual
structures.
The following describes, in
detail, the meaning of each possible DIAG command. This will serve as the basis for a Function Test Plan
description. In all cases the log can
be checked to verify that the requested response has been received.
DIAG
Inquires
on the status of diagnostic options. If
traces have been activated on a per connection/host/subport basis, each one
being traced is listed. (Very
exhaustive, but probably very useful.)
DIAG ON/OFF
DIAG ON/OFF
ALL
Initiates/terminates
tracing for all modules.
DIAG ON/OFF
OS
DIAG ON/OFF
OS ALL
Initiates/terminates
tracing for the Overseer module.
DIAG ON/OFF
OIM
DIAG ON/OFF
OIM ALL
Initiates/terminates
tracing for the Operator Interface module.
DIAG ON/OFF
PLM
DIAG ON/OFF
PLM ALL
Initiates/terminates
tracing for the Port Level module, not including the PIM OI tracing.
DIAG ON/OFF
PLM HOST <hostname>
DIAG ON/OFF
PLM RHE <hostname>
Initiates/terminates
tracing of PLM activity associated with the specified host.
DIAG ON/OFF
PLM CLUSTER <cluster address>
DIAG ON/OFF
PLM CTE <cluster address>
Initiates/terminates
tracing of PLM activity associated with the specified address.
DIAG ON/OFF
PLM SUBPORT <subport address>
DIAG ON/OFF
PLM SPR <subport address>
Initiates/terminates
tracing in the PIE associated with the specified address.
DIAG ON/OFF
PLM SUBPORT ALL
DIAG ON/OFF
PLM SPR ALL
Initiates/terminates
tracing in all PIEs.
DIAG ON/OFF
PLM HOSTSUBPORTS <hostname>
DIAG ON/OFF
PLM HOSTSPRS <hostname>
DIAG ON/OFF
PLM HOSTSPS <hostname>
Initiates/terminates
tracing in all PIEs associated with the speceified host.
DIAG ON/OFF
PLM IO
Initiates/terminates
tracing of PIM IO.
DIAG ON/OFF
RM
DIAG ON/OFF
RM ALL
Initiates/terminates
tracing for the Router module.
DIAG ON/OFF
RM CONN <connection name>
DIAG ON/OFF
RM RCT <connection name>
Initiates/terminates
tracing of router activity associated with the specified connection.
DIAG ON/OFF
RM CONN ALL
DIAG ON/OFF
RM RCT ALL
Initiates/terminates
tracing of router activity associated with the all connections.
DIAG ON/OFF
RM CLUSTER <cluster address>
DIAG ON/OFF
RM RTC <cluster address>
Initiates/terminates
tracing of router activity associated with the specified address.
DIAG ON/OFF
RM CLUSTER ALL
DIAG ON/OFF
RM RTC ALL
Initiates/terminates
tracing of router activity associated with all router clusters.
DIAG ON/OFF
RM NEIGHBOR <node address>
DIAG ON/OFF
RM RNT <node address>
Initiates/terminates
tracing of router activity associated with the specified address.
DIAG ON/OFF
RM NEIGHBOR ALL
DIAG ON/OFF
RM RNT ALL
Initiates/terminates
tracing of router activity associated with all neighbors.
DIAG DUMP
DIAG DUMP
ALL
Dumps
the contents of the PLM tables: RHT, CT, DHT, DAB, SPR, and PIEs.
Also dumps the contents of the RM tables: RCT, RTC, RNT, and DCA.
DIAG DUMP
PLM
DIAG DUMP
PLM ALL
Dumps
the contents of the PLM tables: RHT, CT, DHT, DAB, SPR, and PIEs.
DIAG DUMP
RM
DIAG DUMP
RM ALL
Dumps
the contents of the RM tables: RCT, RTC, RNT, and DCA.
DIAG DUMP
RHT
Dumps
the entire remote host table.
DIAG DUMP
HOST <hostname>
DIAG DUMP
RHE <hostname>
Dumps
the remote host table entry associated with the specified host.
DIAG DUMP
CT
Dumps
the entire PLM cluster table.
DIAG DUMP
PLMCLUSTER <cluster address>
DIAG DUMP
CTE <cluster address>
Dumps
the PLM cluster table entry associated with the specified address.
DIAG DUMP
DHT
Dumps
the entire deleted host table.
DIAG DUMP
DAB
Dumps
the entire dialog attribut block table.
DIAG DUMP
SPR
Dumps
the entire subport reference table.
DIAG DUMP
RCT
DIAG DUMP
RCT ALL
DIAG DUMP
CONN
DIAG DUMP
CONN ALL
Dumps the entire router
connection table.
DIAG DUMP CONN
<connection name>
DIAG DUMP
RCT <connection name>
Dumps
the router connection table entry associated with the specified connection.
DIAG DUMP
RTC
DIAG DUMP
RTC ALL
DIAG DUMP
RMCLUSTER
DIAG DUMP
RMCLUSTER ALL
Dumps
the entire router table current.
DIAG DUMP
CLUSTER address>
DIAG DUMP
RTC < cluster address >
Dumps
the router table current entry associated with the specified address.
DIAG DUMP
RNT
DIAG DUMP
RNT ALL
DIAG DUMP
NEIGHBOR
DIAG DUMP
NEIGHBOR ALL
Dumps
the entire router neighbor table.
DIAG DUMP
NEIGHBOR <node address>
DIAG DUMP
RNT < node address >
Dumps
the router neighbor table entry associated with the specified address.
DIAG DUMP
DCA
Dumps
the entire destination cluster table.
DIAG DUMP
SUBPORT <subport address>
Dumps
the remote host entry, dialog attribute block (DAB) and PIE info associated
with the specified address.