ACC HDLC-NRM (SLDC) User’s Guide Edition 5 HP 9000 Networking Manufacturing Part Number: Z7487-90003 E0400 © Copyright 2000 Hewlett-Packard Company
Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material. Warranty.
This software is based in part on the Fourth Berkeley Software Distribution under license from the Regents of the University of California. ©copyright 1980, 1984, 1986 Novell, Inc. ©copyright 1986-1992 Sun Microsystems, Inc. ©copyright 1985-86, 1988 Massachusetts Institute of Technology. ©copyright 1989-93 The Open Software Foundation, Inc. ©copyright 1986 Digital Equipment Corporation. ©copyright 1990 Motorola, Inc.
Publishing History The manual publishing date and part number indicate its current edition. The publishing date will change when a new edition is published. Minor changes may be made without changing the publishing date. The manual part number will change when extensive changes are made. Manual updates may be issued between editions to correct errors or document product changes. To ensure that you receive the updated or new editions, you should subscribe to the appropriate product support service.
Preface The HDLC Normal Response Mode (NRM) Protocol Product is used in conjunction with Hewlett-Packard’s Advanced Communications Controller (ACC) product. This manual applies to the ACC Protocols for Application Developers product.This manual provides installation and configuration information that is specific to the HDLC Normal Response Mode (NRM) protocol.
Related Documentation The documentation available for the Multiprotocol ACC family of products includes the following hardware and software manuals: Hardware Manuals • 8 Channel HP-PB ACC Multiplexer Hardware Installation and Reference Manual • 8 Channel EISA ACC Multiplexer Hardware Installation and Reference Manual • 8 Channel PCI ACC Multiplexer Hardware Installation and Reference Manual • 2 Channel (HP-PB) ACC Multiplexer Hardware Installation and Reference Manual • 4-Chan.
Contents Publishing History 5 Organization 7 Related Documentation 8 Hardware Manuals 8 Software Manuals 8 1. Overview Product Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Supported Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 Data Rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Timeout Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Response Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Poll Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminal Busy Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 32 33 33 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Protocol Option Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 NSP - No Slow Poll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 SLM - SDLC Loop Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 BCT - Broadcast terminal (Extension feature) . . . . . . . . . . . . . . . . .52 RTS - Controlled RTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 HDX - Half Duplex . . . . . . .
Contents 12
1 Overview The HDLC-NRM (SDLC) Protocol product is used in conjunction with the Advanced Communications Controller (ACC) product. This chapter provides an overview of the HDLC-NRM (SDLC) protocol product.
Overview Product Features Product Features NOTE This protocol is not available on the ACC 4-port E1/T1 cards. The HDLC-NRM (SDLC) protocols are polled protocols, supporting both a primary and secondary station. Multiple stations may be defined on a line. However, stations on a line must be either all primary or all secondary. The HDLC protocols are fully defined in three standards documents published by the International Standards Organization (ISO).
Overview Supported Devices Supported Devices The HDLC-NRM (SDLC) protocol implementation supports either primary or secondary stations conforming to the above published standards. Both point-to-point and multipoint configurations are supported. Modes of Operation The HDLC-NRM (SDLC) implementation supports two normal response modes of transmission: • Two Way Simultaneous (TWS) transmission • Two Way Alternate (TWA) transmission Within TWA mode, both half duplex and full duplex options are supported.
Overview Files Provided Files Provided The HDLC-NRM (SDLC) Protocol product provides a pre-loaded firmware file that can be used directly in network configuration files. The HDLC-NRM (SDLC) protocol may also be used on the same ACC Mux as other protocols. If this is the case, a new .zabs file can be built to contain all of the protocols that will be used on that Mux. This product provides the relocatable firmware files and a sample Link command file for use in this case.
Overview References References For information on installing the ACC product, how to load the relocatable firmware, files, and how to start up the ACC Subsystem, refer to the ACC Installation and Configuration Guide. For information on using the utilities related to the ACC products, refer to the ACC Utilities Reference Manual. For information on using the ZCOM Programmatic Interface, refer to the ACC Programmers’ Reference Guide.
Overview References 18 Chapter 1
2 Software Installation and Verification 19
Software Installation and Verification Introduction Introduction The HDLC NRM (SDLC) protocol is included in the ACC Developer Software Suite product. This chapter describes how to install the product using the swinstall utility. It also describes how to verify that the protocol has been successfully installed and is functional.
Software Installation and Verification Software Removal Software Removal CAUTION If a previous version of the HDLC-NRM (SDLC) protocol product is already installed on the HP-UX system, it should first be removed. It is very important to follow the instructions provided with the software that is currently installed in the system to shutdown and remove that software. This procedure may change between major releases of the product. Step 1. Log in to the system as superuser. Step 2.
Software Installation and Verification Software Installation Software Installation Running Swinstall The ACC software is read from the HP Application Software CD-ROM, in superuser mode, using the swinstall utility. The steps are listed below. Step 1. Log in to the system as “root”. Step 2. Place the media in a local or remote CD-ROM drive. Step 3. Run swinstall, which behaves the same in the GUI interface as for the terminal interface.
Software Installation and Verification Product Identification Product Identification The what utility can be run on /opt/acc/protocol/hdlcnrm.zrel and /opt/acc//hdlcnrm.zabs to show what version of the protocols is installed.
Software Installation and Verification Installation Verification Installation Verification A sample configuration file /opt/acc/cfg/hdlcnrm_sample.answ file is provided with the ACC Protocols for Application Developers product. This sample file can be used to verify that the HDLC-NRM (SDLC) protocol module has been properly installed and is functional. Note that you need to customize this file, to reflect the location of the mux card(s) and to reflect the mux ports to be used. (The hdlcnrm_sample.
Software Installation and Verification Installation Verification Verification Procedure The procedure described involves using the zmlog, ttgen, zmntr, and zterm utilities. These utilities are described in the ACC Utilities Reference Guide. Step 1. Modify the Bus:Slot[slot] terms in the Interface-Definition statement in the /opt/acc/cfg/hdlcnrm_sample.answ file if necessary, to reflect the actual location of the ACC Mux cards.
Software Installation and Verification Installation Verification Step 4. Bring up the ZCOM subsystem: % zmasterd cold /opt/acc/cfg/hdlcnrm_sample.tmem It is suggested that the system console (or the appropriate /var/opt/acc/log/*.tlog file, e.g. mon.tlog, tue.tlog, etc.) be monitored to make sure the ZCOM subsystem comes up.
Software Installation and Verification Installation Verification Step 6.
Software Installation and Verification Installation Verification Step 8. Data can now be sent over the established links between primary and secondary terminals. In this example, one 40 byte message is sent to one of the two primary terminals and another to one of the two secondary terminals: % zterm 13:49:07 ZCOM Interactive command utility 13:49:07 Primary ZLU is 801 ZTERM> rc 1 20 ZTERM> tx 1 40 0 1 13:49:55 TX test complete!!! ZTERM> tx 12 40 0 1 13:50:04 TX test complete!!! Step 9.
3 Using HDLC-NRM (SDLC) Protocols 29
Using HDLC-NRM (SDLC) Protocols Introduction Introduction For a complete description of the communications formats and protocol disciplines, the reader is referred to the ISO standards mentioned in the first chapter of this manual. The HDLC-NRM (SDLC) protocol is a polled, bit oriented protocol. Each unit transmitted over an HDLC-NRM (SDLC) link is termed a frame.
Using HDLC-NRM (SDLC) Protocols Application Message Headers Application Message Headers The HDLC-NRM (SDLC) protocol does not use application message headers. Both transmitted and received messages contain only the information field of information frames sent across the link. The protocol adds communications header and trailer to transmitted messages, and removes the same from received messages.
Using HDLC-NRM (SDLC) Protocols Timeout Processing Timeout Processing Timers are used to control several mechanisms in this implementation of the HDLC-NRM (SDLC) protocol. Response Timer The principal timer used to control the polling cycle is the T1 timer, which is a parameter for each primary station. Its value is configured as described in the next chapter. When the primary station sends a frame with the Poll bit set to the secondary, the T1 timer is started.
Using HDLC-NRM (SDLC) Protocols Timeout Processing Poll Timer The secondary station has a timer configured to allow the protocol software to detect and inform the application when it is no longer receiving a poll from the primary. This timer is started when the terminal is enabled, and restarted whenever a poll is received by a particular secondary station.
Using HDLC-NRM (SDLC) Protocols Error Handling Error Handling Several mechanisms are used to detect and recover from error conditions. Checkpoint Recovery The principal method of error recovery used by the HDLC-NRM (SDLC) protocol is known as checkpointing. This technique, which is more fully described in ISO 4335, ensures that a received frame with the poll or final bit set acknowledges all frames sent prior to or including the last frame sent with the final or poll bit (respectively) set.
Using HDLC-NRM (SDLC) Protocols Error Handling If frames pass the above checks, then they are also checked for various command/response exception conditions as follows: • Unrecognized or unimplemented control field; • Frame too long (longer than maximum configured I-field); • Invalid receive sequence number, N(R). If any of these command/response exception conditions are detected, different recovery actions will be taken, depending on whether the receiving station is primary or secondary.
Using HDLC-NRM (SDLC) Protocols Application Control Requests Application Control Requests All HDLC-NRM (SDLC) terminals must be enabled prior to sending and receiving of messages. The enable request will cause the primary station to initialize the mode for the terminal by sending a Set Normal Response Mode (SNRM) command to the terminal. After the appropriate (UA) response, normal polling will commence.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Status and Error Messages Error and other conditions are reported to the application program through two kinds of status codes. The defines for these status codes are located in zcomstatus.h and zx25status.h. Buffer Completion Statuses Buffer completion statuses are generated by the protocol on all transmit messages.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Table 3-1 Buffer Completion Status Status Code Value Description IO_TX_RETRY (4) Too many retransmissions. IO_TERM_TMOUT (6) No terminal response. IO_PROT_REJ (10) Protocol rejects request. IO_DOWN (20) Terminal down. IO_LNK_RST (23) Link reset. There were too many retransmissions needed to send this message or to obtain an acknowledgment for this message.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Unsolicited Status Messages The unsolicited status messages are used to inform the application program of events which occur affecting communications with the remote station. The status code “No error detected” is used to inform the application that the remote station is communicating normally, either after an enable request, or some error condition.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Table 3-2 Unsolicited Status Codes Unsolicited Status Code Value Description IO_LNK_DSC (22) Link disconnected. IO_LNK_RST (23) Link reset. ST25TXFR (69) † Frame reject transmitted. ST25RXFR (70) † Frame reject received. 40 The link has been disconnected, either by the transmission or receiving of a DISC command. In Loop mode, indicates that an RIM frame was received from the secondary station, resetting the link.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Command/Response Reject Reason Codes The format of the command/response reject reason information is given below. This data is passed to the application in the data portion of the indicated unsolicited status messages, as described under the Error Recovery section. This information is summarized from ISO 4335 standard, section 7.3.3.2. Please refer to the standard for a more detailed description. Byte 1 Byte 2 Rej.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages 42 Chapter 3
4 Protocol Specific Configuration 43
Protocol Specific Configuration Introduction Introduction This chapter provides specific information on preparing the network configuration (ttgen) file when HDLC-NRM (SDLC) is to be used. The parts of the network configuration answer file (.answ) relevant to HDLC-NRM (SDLC) are: • Interface-Definition • Port-Definition • Terminal-Definition For additional details on general configuration, see the TTGEN chapter of the ACC Utilities Reference Manual.
Protocol Specific Configuration Interface-Definition Interface-Definition An Interface-Definition line appears in the sample configuration file for each Multiplexer that will have HDLC-NRM (SDLC) connections configured. The firmware file that is used for products using HDLC-NRM (SDLC) is different from the firmware files that are used for other protocols.
Protocol Specific Configuration Terminal-Definition Terminal-Definition Each port which is to be used with the HDLC-NRM (SDLC) protocol must have one or more HDLC-NRM (SDLC) terminals defined on it. Each port must have either all primary terminals defined or all secondary terminals defined. They cannot be mixed on a line. Some example HDLC-NRM (SDLC) Terminal-Definition lines follow: Term 120 1:6 HDLCNRM.
Protocol Specific Configuration Terminal-Definition NOTE poll This parameter, which is normally specified in hexadecimal, is used to specify the secondary station address. Its format is described in a later section of this chapter. select This parameter is used to define a number of parameters which govern the operation of the protocol. The value is normally specified in hexadecimal. The individual parameters contained in the select word are defined and described in a later section of this chapter.
Protocol Specific Configuration Protocol Configuration Values Protocol Configuration Values Poll Word 15 14 13 12 11 Unused (0) 10 9 8 Loop Pacing 7 6 5 4 3 2 1 0 Secondary Station Address Loop Pacing NOTE Applicable only in Loop Mode; default value is 100 ms. This parameter is used to configure an extra delay in the poll cycle when Loop Mode is in use. The parameter values currently supported are as shown below.
Protocol Specific Configuration Protocol Configuration Values Select Word 15 14 TIR T1 13 12 11 10 9 8 7 Frame size 6 5 Window 4 3 2 1 0 N2 T1R - T1 Timer Resolution In the case of a primary station this bit determines the resolution which applies to the T1 parameter as follows: T1R Bit clear (0) - 100 Millisecond units T1R Bit set (1) - 1 Second units In the case of a secondary station this bit becomes the top bit of the “Poll Timeout” parameter.
Protocol Specific Configuration Protocol Configuration Values Table 4-1 shows the minimum and maximum actual timeout values which will be achieved with various combinations of T1R and T1 parameters. Table 4-1 Timeout Values T1R Timer Resolution T1 Poll Timeout Value Minimum Timeout Maximum Timeout 100ms 1 0 100ms (not recommended) 100ms 2 100ms 200ms 100ms 3 200ms 300ms 100ms 4 300ms 400ms 100ms 5 400ms 500ms . . . . 100ms 19 1800ms 1900ms 100ms 20 1900ms 2000ms . . .
Protocol Specific Configuration Protocol Configuration Values Frame Size This parameter is used to set a limit on the size of the received I-field of a frame that will be allowed. This parameter does not restrict the size of I-frames which may be transmitted. This limit does not include the Address byte, Control byte or FCS characters.
Protocol Specific Configuration Protocol Configuration Values This parameter governs the number of times the protocol will attempt to retry after an error condition, before resorting to a higher level recovery action. Protocol Option Word The option word enables various options to be configured for each terminal. Usually, these options are defined for a certain device type in the zcomdevice.txt file (see later section on predefined device types).
Protocol Specific Configuration Protocol Configuration Values messages). For a line configured for secondary operation, a secondary broadcast terminal may be configured to allow the reception of any broadcast messages sent by the primary control station. In this implementation, the secondary broadcast terminal only will receive broadcasts, and not any of the other secondary stations.
Protocol Specific Configuration Protocol Configuration Values HDX - Half Duplex This option is only applicable for the primary stations. The setting of this option for a primary terminal will prevent the transmission of frames to ANY SECONDARY TERMINAL while the poll is outstanding to a terminal configured as half duplex. If the half duplex option flag for a primary terminal is zero (0), then the terminal will operate in full duplex mode.
Protocol Specific Configuration Protocol Configuration Values NOTE Use of the TWS option is not recommended when there are multiple polled primary terminals configured on the line (i.e. multipoint rather than point-to-point). This is for the reason that, when a secondary terminal has high volumes of data to send, the primary station keeps acknowledging received frames, consequently allowing the secondary an arbitrarily long time to return the final bit to the poll.
Protocol Specific Configuration HDLC-NRM (SDLC) Device Types HDLC-NRM (SDLC) Device Types Table 4-2 lists devices that have been added to the “zcomdevice.txt” file to allow HDLC primary and secondary terminals to be configured with a selected range of options. Table 4-2 Devices Added to the “zcomdevice.txt” File Device Name Option Comments HDLCNRM.P 0x00 HDLC/NRM Primary TWA HDLCNRM.PT 0x02 HDLC/NRM Primary TWS HDLCNRM.S 0x11 HDLC/NRM Secondary HDLCNRM.
A Sample Configuration Files 57
Sample Configuration Files Sample Network Configuration File Sample Network Configuration File The file shown is the sample network configuration file hdlcnrm_sample.answ which is provided with the HDLC/NRM protocol.
Sample Configuration Files Download Linkage Download Linkage This file is the example Link command file that is provided for the 8-Channel HP-PB (NIO) Multiplexer interface, and is typical for other interfaces as well. (Z7200A denotes the 8-Channel HP-PB interface hardware.) ma z7200a/hdlcnrm.zmap xr nam HDLCNRM Download file HDLC/NRM distribution sn sys/z7200_rom.zsnp org,vmux1org,vmux1lim re sys/wmux1.zrel org,vmux3org,vmux3lim re sys/wmux3.zrel org,progorg,proglim re sys/wmux4.zrel re protocol/level1.
Sample Configuration Files Download Linkage 60 Appendix A
B SDLC Loop Mode Option 61
SDLC Loop Mode Option Introduction Introduction The SDLC loop mode of operation is described in the IBM document “Synchronous Data Link Control General Information” GA27-3093. A subset of this standard has been implemented. Only the primary station is supported in loop mode. The “turn-around” signal described in the SDLC document is not used. NOTE The SDLC loop mode is not available for use on the 2-Channel ACC interface.
SDLC Loop Mode Option Introduction TEST Command and Response In Primary/Loop mode the HDLCNRM protocol will periodically issue a TEST command with the P bit set to ‘0’ to each secondary station. If the correct response (TEST response with the F bit set to ‘0’) is not received within the T1 timeout period, the TEST command will be repeated. After N2 repeat transmissions of the TEST command with no response received the secondary station will be considered to be in the disconnected mode.
SDLC Loop Mode Option Introduction SDLC Frame Types Not Supported The following commands and responses defined in the IBM SDLC specification are not supported: Commands Responses CFGR BCN XID CFGR REJ RD XID REJ Modulo-128 sequence numbering is also not supported.
SDLC Loop Mode Option Operation Operation When one terminal on a port is enabled, then polls (UP frame) with the go-ahead signal will be transmitted. When all terminals are disabled no more polls will be transmitted. Once a terminal is enabled SNRM command frames will be transmitted to that terminal at 10 second intervals until a UA response is received. When a terminal is disabled, no more frames will be transmitted with that terminal’s address (there is no disconnect procedure).
SDLC Loop Mode Option Operation 66 Appendix B