![]() |
![]() HP OpenVMS Systems Documentation |
![]() |
OpenVMS Cluster Systems
D.5.2 Edit the Source FileFollow these steps to edit the LAVC$FAILURE_ANALYSIS.MAR program.
Example D-1 shows the portion of LAVC$FAILURE_ANALYSIS.MAR that you edit.
In the program, Edit number identifies a place where you edit the program to incorporate information about your network. Make the following edits to the program:
D.5.3 Assemble and Link the ProgramUse the following command procedure to assemble and link the program:
Make the edits necessary to fix the assembly or link errors, such as
errors caused by mistyping component labels in the path description.
Assemble the program again.
Before you execute the LAVC$FAILURE_ANALYSIS.EXE procedure, modify the startup files to run the procedure only on the node for which you supplied data. Example: To execute the program on node OMEGA, you would modify the startup files in SYS$COMMON:[SYSMGR] to include the following conditional statement:
D.5.5 Execute the ProgramTo run the LAVC$FAILURE_ANALYSIS.EXE program, follow these steps:
After it executes, the program displays the approximate amount of nonpaged pool required for the network description. The display is similar to the following:
D.5.6 Modify MODPARAMS.DATOn each system running the network failure analysis, modify the file SYS$SPECIFIC:[SYSEXE]MODPARAMS.DAT to include the following lines, replacing value with the value that was displayed for nonpaged pool usage:
Run AUTOGEN on each system for which you modified MODPARAMS.DAT.
Test the program by causing a failure. For example, disconnect a
transceiver cable or ThinWire segment, or cause a power failure on a
bridge, a DELNI interconnect, or a DEMPR repeater. Then check the OPCOM
messages to see whether LAVC$FAILURE_ANALYSIS reports the failed
component correctly. If it does not report the failure, check your
edits to the network failure analysis program.
When an OpenVMS Cluster network component failure occurs, OPCOM displays a list of suspected components. Displaying the list through OPCOM allows the system manager to enable and disable selectively the display of these messages. The following are sample displays:
The OPCOM display of suspected failures uses the following prefixes to list suspected failures:
The text following the message prefix is the description of the network component you supplied when you edited LAVC$FAILURE_ANALYSIS.MAR.
Appendix E
|
Subroutine | Description |
---|---|
To manage LAN adapters: | |
SYS$LAVC_START_BUS | Directs PEDRIVER to start the NISCA protocol on a specific LAN adapter. |
SYS$LAVC_STOP_BUS | Directs PEDRIVER to stop the NISCA protocol on a specific LAN adapter. |
To control the network failure analysis system: | |
SYS$LAVC_DEFINE_NET_COMPONENT | Creates a representation of a physical network component. |
SYS$LAVC_DEFINE_NET_PATH | Creates a directed list of network components between two network nodes. |
SYS$LAVC_ENABLE_ANALYSIS | Enables the network failure analysis, which makes it possible to analyze future channel failures. |
SYS$LAVC_DISABLE_ANALYSIS | Stops the network failure analysis and deallocates the memory used for the physical network description. |
The subroutines described in this appendix are used by the the LAN
control programs, LAVC$FAILURE_ANALYSIS.MAR, LAVC$START_BUS.MAR, and
LAVC$STOP_BUS.MAR. Although these programs are sufficient for
controlling LAN networks, you may also find it helpful to use the LAN
control subroutines to further manage LAN adapters.
E.2 Starting the NISCA Protocol
The SYS$LAVC_START_BUS subroutine starts the NISCA protocol on a specified LAN adapter. To use the routine SYS$LAVC_START_BUS, specify the following parameter:
Parameter | Description |
---|---|
BUS_NAME | String descriptor representing the LAN adapter name buffer, passed by reference. The LAN adapter name must consist of 15 characters or fewer. |
Example: The following Fortran sample program uses SYS$LAVC_START_BUS to start the NISCA protocol on the LAN adapter XQA:
PROGRAM START_BUS EXTERNAL SYS$LAVC_START_BUS INTEGER*4 SYS$LAVC_START_BUS INTEGER*4 STATUS STATUS = SYS$LAVC_START_BUS ( 'XQA0:' ) CALL SYS$EXIT ( %VAL ( STATUS )) END |
The SYS$LAVC_START_BUS subroutine returns a status value in register R0, as described in Table E-2.
Status | Result |
---|---|
Success | Indicates that PEDRIVER is attempting to start the NISCA protocol on the specified adapter. |
Failure | Indicates that PEDRIVER cannot start the protocol on the specified LAN adapter. |
SYS$LAVC_START_BUS can return the error condition codes shown in the following table.
Condition Code | Description |
---|---|
SS$_ACCVIO |
This status is returned for the following conditions:
|
SS$_DEVACTIVE | Bus already exists. PEDRIVER is already trying to use this LAN adapter for the NISCA protocol. |
SS$_INSFARG | Not enough arguments supplied. |
SS$_INSFMEM | Insufficient nonpaged pool to create the bus data structure. |
SS$_INVBUSNAM | Invalid bus name specified. The device specified does not represent a LAN adapter that can be used for the protocol. |
SS$_IVBUFLEN |
This status value is returned under the following conditions:
|
SS$_NOSUCHDEV |
This status value is returned under the following conditions:
Note: By calling this routine, an error-log message may be generated. |
SS$_NOTNETDEV | PEDRIVER does not support the specified LAN device. |
SS$_SYSVERDIF | The specified LAN device's driver does not support the VCI interface version required by PEDRIVER. |
PEDRIVER can return additional errors that indicate it has failed to
create the connection to the specified LAN adapter.
E.3 Stopping the NISCA Protocol
The SYS$LAVC_STOP_BUS routine stops the NISCA protocol on a specific LAN adapter.
Caution: Stopping the NISCA protocol on all LAN adapters causes satellites to hang and could cause cluster systems to fail with a CLUEXIT bugcheck.
To use this routine, specify the parameter described in the following table.
Parameter | Description |
---|---|
BUS_NAME | String descriptor representing the LAN adapter name buffer, passed by reference. The LAN adapter name must consist of 15 characters or fewer. |
Example: The following Fortran sample program shows how SYS$LAVC_STOP_BUS is used to stop the NISCA protocol on the LAN adapter XQB:
PROGRAM STOP_BUS EXTERNAL SYS$LAVC_STOP_BUS INTEGER*4 SYS$LAVC_STOP_BUS INTEGER*4 STATUS STATUS = SYS$LAVC_STOP_BUS ( 'XQB' ) CALL SYS$EXIT ( %VAL ( STATUS )) END |
The SYS$LAVC_STOP_BUS subroutine returns a status value in register R0, as described in Table E-3.
Status | Result |
---|---|
Success | Indicates that PEDRIVER is attempting to shut down the NISCA protocol on the specified adapter. |
Failure | Indicates that PEDRIVER cannot shut down the protocol on the specified LAN adapter. However, PEDRIVER performs the shutdown asynchronously, and there could be other reasons why PEDRIVER is unable to complete the shutdown. |
When the LAVC$STOP_BUS module executes successfully, the following device-attention entry is written to the system error log:
DEVICE ATTENTION... NI-SCS SUB-SYSTEM... FATAL ERROR DETECTED BY DATALINK... |
In addition, the following hexadecimal values are written to the STATUS field of the entry:
First longword (00000001)
Second longword (00001201)
This error-log entry indicates expected behavior and can be ignored.
However, if the first longword of the STATUS field contains a value
other than hexadecimal value 00000001, an error has occurred and
further investigation may be necessary.
E.3.2 Error Messages
SYS$LAVC_STOP_BUS can return the error condition codes shown in the following table.
Condition Code | Description |
---|---|
SS$_ACCVIO |
This status is returned for the following conditions:
|
SS$_INVBUSNAM | Invalid bus name specified. The device specified does not represent a LAN adapter that can be used for the NISCA protocol. |
SS$_IVBUFLEN |
This status value is returned under the following conditions:
|
SS$_NOSUCHDEV |
This status value is returned under the following conditions:
|
The SYS$LAVC_DEFINE_NET_COMPONENT subroutine creates a representation for a physical network component.
Use the following format to specify the parameters:
STATUS = SYS$LAVC_DEFINE_NET_COMPONENT (
component_description,
nodename_length,
component_type,
lan_hardware_addr,
lan_decnet_addr,
component_id_value )
Table E-4 describes the SYS$LAVC_DEFINE_NET_COMPONENT parameters.
Parameter | Description |
---|---|
component_description | Address of a string descriptor representing network component name buffer. The length of the network component name must be less than or equal to the number of COMP$C_MAX_NAME_LEN characters. |
nodename_length | Address of the length of the node name. This address is located at the beginning of the network component name buffer for COMP$C_NODE types. You should use zero for other component types. |
component_type | Address of the component type. These values are defined by $PEMCOMPDEF, found in SYS$LIBRARY:LIB.MLB. |
lan_hardware_addr | Address of a string descriptor of a buffer containing the component's LAN hardware address (6 bytes). You must specify this value for COMP$C_ADAPTER types. For other component types, this value is optional. |
lan_decnet_addr | String descriptor of a buffer containing the component's LAN DECnet address (6 bytes). This is an optional parameter for all component types. |
component_id_value | Address of a longword that is written with the component ID value. |
Previous | Next | Contents | Index |