ACC HDLC-NRM (SDLC) User’s Guide Edition 1 HP 9000 Networking Manufacturing Part Number : Z7345-90009 E0204 © Copyright 2004 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 PCI ACC Multiplexer Hardware Installation and Reference Manual Software Manuals • • • • • • • • • • • • • 8 ACC Installation and Configuration Guide ACC Utilities Reference Guide ACC Programmer’s Reference Guide ACC Error Guide HDLC Frame Protocol User’s Guide ACC X.25 Protocol User’s Guide ACC X.
Contents 1. Overview Product Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Rates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 4. Protocol Specific Configuration Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interface-Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Port-Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminal-Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents SDLC Frame Types Not Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Response Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 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). These standards are ISO 3309, 7809 and 4335, full references to which are given at the end of this chapter.
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 Chapter 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 Chapter 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 (Continued) Status Code Value Description IO_BUSY (3) Terminal busy for too long. 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. Messages cannot be sent to the remote station because it is busy.
Using HDLC-NRM (SDLC) Protocols Status and Error Messages Table 3-1 Buffer Completion Status (Continued) Status Code Value ST25RXFR (70) Chapter 3 Description Received frame reject. Messages which were outstanding and unacknowledged at the time when the link is reset due to a received frame reject are completed with this status code. These messages have been transmitted, but not acknowledged.
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 (Continued) Unsolicited Status Code Value Chapter 3 Description IO_POLL (13) Host has stopped polling. IO_LNK_DSC (22) Link disconnected. IO_LNK_RST (23) Link reset. ST25TXFR (69) † Frame reject transmitted. ST25RXFR (70) † Frame reject received. For a secondary station, a poll has not been received for the duration of the configured poll timer.
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.
4 Chapter 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 Chapter 4 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.
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 The following table shows the minimum and maximum actual timeout values which will be achieved with various combinations of T1R and T1 parameters. T1 Poll Timeout Value T1R Timer Resolution 100ms 1 Minimum Timeout 0 Maximum Timeout 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 condition for the secondary station, where a poll is not received for the duration of this timer. For the secondary, the allowable values for this timer are 1 to 63 seconds.
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 N2 - Retransmission Limit This is the retransmission retry limit. The default (if this parameter is set to zero) is seven (7). 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.
Protocol Specific Configuration Protocol Configuration Values BCT - Broadcast terminal (Extension feature) Set to make a terminal the broadcast terminal for the port. A single broadcast terminal may be configured on either a primary or secondary port. A broadcast terminal’s address should be set to 0xFF. The broadcast facility is an extension feature of the HDLC-NRM (SDLC) basic procedures as described in ISO 4335.
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 The following table 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. 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.PB T 0x22 HDLC/NRM Primary, broadcast, TWS HDLCNRM.
Protocol Specific Configuration HDLC-NRM (SDLC) Device Types 58 Chapter 4
A Appendix A Sample Configuration Files 59
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.
B Appendix 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