SNAP-LINK

Summary

SNAP-LINK provides the Data Link Control (DLC) layer for SNA primary or secondary communication across SDLC communication links. SNAP-LINK can be used to provide the DLC for SNAP APPN and SNAP-IX as well as for other communications software.

One copy of SNAP-LINK can support multiple SDLC link stations on multiple ports (SDLC data links). SNAP-LINK can support any combination of configuration options on each port. A single copy of SNAP-LINK can concurrently provide SDLC primary and secondary protocols on separate ports.

The diagram below shows SNAP-LINK supporting SNAP APPN, SNAP-IX, and an IBM application. SNAP-LINK is using switched, leased, and multi-point leased lines.

SNAP-LINK in context
SNAP-LINK in context

SNAP-LINK provides a high level of SDLC protocol support. This can be configured to match most requirements.

SNAP-LINK is fully portable and makes very few assumptions about the underlying hardware or operating system. This portability is achieved by using a mapping layer, called the N-BASE, that provides services such as scheduling and memory management.

Both SNAP-LINK and the N-BASE have been designed to perform well in both standard multi-threaded, single processor operating systems as well as more complex environments such as:

  • ultra high-performance single-threaded operating systems or sub-systems found at the heart of most router products
  • distributed environments with small high-speed data path processes and larger background management processes
  • symmetric or asymmetric multi-processor systems.

The sections below describe the SDLC function provided by SNAP-LINK.



Line Types and Station Roles

SNAP-LINK can provide primary and secondary SDLC protocol support. It can also be configured to be negotiable. This means that the higher level software negotiates the role using XIDs before telling SNAP-LINK whether to be primary or secondary.

SNAP-LINK can support switched and leased lines. Leased lines can be point to point or multi-point. In the multi-point case SNAP-LINK can act in three ways.

  • It can act as primary controlling multiple secondaries on the line.
  • It can be a single secondary on the multi-point line.
  • It can emulate multiple secondaries on the line.

On a switched line, SNAP-LINK supports dial in and dial out. The dialling can be automatic or require user intervention. The support for switched lines is very dependent on the SDLC line-driving device and modem in use, but SNAP-LINK is able to take advantage of facilities offered.

Each line in use by SNAP-LINK can be full- or half-duplex. If the line is full-duplex and the other stations on the line can support full-duplex operation then SNAP-LINK can take advantage of this and run in full-duplex mode.



Frames Supported

SNAP-LINK supports the following SDLC commands and responses:

SDLC Primary SDLC Secondary
Send Cmd Receive Rsp Send Rsp Receive Cmd
I
RR
RNR
REJ
-
SNRM
SNRME
DISC
-
TEST
XID
SIM
-
UP
I
RR
RNR
REJ
UA
-
-
RD
DM
TEST
XID
RIM
FRMR
UP
I
RR
RNR
REJ
UA
-
-
RD
DM
TEST
XID
-
FRMR
UP
I
RR
RNR
REJ
-
SNRM
SNRME
DISC
-
TEST
XID
-
-
UP

SNAP-LINK has a run-time configuration option to select whether the REJ supervisory frame is to be used. This allows SNAP-LINK to communicate with devices that do not support the frame.

For primary SDLC, SNAP-LINK sends a SIM frame only if a RIM is received from the secondary. Support of SIM provides compatibility with older secondary devices such as early models of IBM's 3270 terminal system. SNAP-LINK uses a DISC not a SIM in response to an FRMR frame.

For secondary SDLC, SNAP-LINK does not send RIM to the primary.

The UP frame is used by SNAP-LINK for group polling.



Extended Sequence Numbering

SNAP-LINK supports normal (modulo 8) and extended (modulo 128) sequence numbering. This can be selected for each link station. SNAP-LINK supports simultaneous use of normal and extended sequence numbering by different stations on the same port.



Flexible Configuration

SNAP-LINK's configuration is very flexible. Data for controlling resources is assigned dynamically so that the number of ports and link stations supported is only constrained by the system resources available, and by the addressing rules of the protocol (which forces a limit of 254 stations per port).

Each port and link station can be fully configured independently of the others.

For a port, the configuration information that can be set includes:

  • timeout values and retry limits
  • primary and secondary support for full-duplex operation on this line
  • support for the REJ frame on this line
  • the type of line to which this port provides access.

For a link station, the configuration information includes:

  • timeout values
  • station address
  • group address if group polling is in use
  • the special poll frame to use.

Additional configuration information can be set up to be passed to the software that controls the line. This information specifies line and modem options such as:

  • physical full-duplex support (two and four wire)
  • use of NRZ or NRZI
  • line speed
  • auto-answer and dial control strings.



Special Polling

The primary on a switched line broadcasts a poll to discover if the secondary is present and to find out its address. An XID frame is usually used for this purpose.

SNAP-LINK primary can be configured to use a different frame for this polling so that it can support SDLC pass-through to old-fashioned secondaries which do not support XIDs. SNAP-LINK can use DISC, TEST or SNRM for this special polling. A different poll frame can be used for each configured link station.

SNAP-LINK secondary can receive these special poll frames and process them according to the protocol without the need for any special configuration.



Group Polling

The group poll allows a primary to poll multiple secondaries on a single line (for data). IBM uses this way of using group polls in specific circumstances, for example, a primary NCP with a 3174 concentrator emulating many downstream secondaries.

SNAP-LINK can act as a secondary receiving group polls from the NCP. It provides all of the secondaries in the group. SNAP-LINK can also act as the NCP; that is, it can be a primary issuing group polls.

SNAP-LINK supports zero or one groups on a switched line. If SNAP-LINK operates as primary on a multi-drop line then it supports multiple groups on the line. A station can be in at most one group.

Group poll uses the Unnumbered Poll (UP) frame.

Note that the only use of the UP frame for group poll in the IBM manual Synchronous Data Link Control - Concepts (GA27-3093-04) is for polling multiple secondaries on loops. SNAP-LINK does not support loops.



Error Case Behaviour

Exceptions can be detected by SNAP-LINK in several different situations.

  • A remote station can violate the SDLC protocol.
  • A line failure can be detected by expiry of one of SNAP-LINK's internal timers.
  • A failure of the line can be reported by the software that controls the line.
  • An incorrectly formatted signal could be passed to SNAP-LINK across one of the interfaces.

SNAP-LINK provides a high level of information for diagnosing these problems, but minimizes the effect on the system as whole so that other ports and link stations can continue to function.



Problem Reporting

SNAP-LINK reports problems and events at the point of discovery. Reports are assigned one of three severities.

  • PROBLEM
  • The event is severe and the user is likely to experience a degradation in the service.
  • EXCEPTION
  • These reports indicate serious events where the user will not yet have noticed a degradation in the service, but where the problem may lead on to other errors which will impact the service. They are also used to indicate events which could have occurred because of windows, or could have been interface violations.
  • AUDIT
  • These reports indicate minor problems which are handled by the protocol transparently to the user. They also show significant internal events which are not problems.

Where possible, SNAP-LINK uses the recovery mechanisms within the SDLC protocol to continue after an error. For example, lost information frames are detected, notified using REJ or RR, and retransmitted.

An error is only notified to SNAP-LINK's user when no further attempt at recovery can be made.



Alerts

Alert messages are used to notify SNAP-LINK's user of exception conditions. SNAP-LINK constructs an appropriate MS major vector containing the sense code and other useful information. This vector can be included in an SNA Alert which can be sent to a Network Management focal point.



Statistics

SNAP-LINK collects working statistics from its ports and link stations. The information collected is constructed to be of help to an application maintaining a MIB (Managed Information Base) for the resources controlled by SNAP-LINK.

The data is based on the IETF RFC 1747 MIB for SDLC. It is divided into four tables types.

  • Link Station Operations Table
  • Link Station Statistics Table
  • Port Operations Table
  • Port Statistics Table

The Administration Tables defined in the MIB should be maintained by the process that holds the configuration information supplied to SNAP-LINK.

The information in the tables can be retrieved by the DLC User using the QUERY_LS_STATISTICS and QUERY_PORT_STATISTICS signals. The information is available so long as the link station or port enquired is still active.

When a link station or port becomes inactive as the result of an error (that is without an explicit request from the DLC User), the statistics are passed to the DLC User in statistics alerts.

In addition to collecting statistics, SNAP-LINK issues calls to user exits for the trap events described in the MIB definition. These user exits can be used to supply information to a MIB management application.

Support for statistics collection and reporting is a compile-time option so that occupancy and performance can be enhanced where statistics are not required.



SNAP-LINK Deliverables

SNAP-LINK is delivered as a set of C source modules. The delivered code is as follows.

  • SNAP-LINK product code (11,000 lines of code)
  • SNAP-LINK HMOD Stub (2000 lines of code)
  • Sample HMOD (1500 lines of code)
  • SNAPS Product Support Library (4,500 lines of code)
  • Sample N-BASE (7,500 lines of code)

A set of test scripts is provided to help you validate that you have ported and installed SNAP-LINK correctly. The scripts are written to run in the N-BASE testbed which you must also port to your environment. All of the tests run in the sample portable N-BASE which contains a testbed. Tests are provided for testing SNAP-LINK and for testing the SNAP-LINK HMOD Stub.

The following documents accompany SNAP-LINK.

  • SNAP-LINK HMOD Interface Specification
  • SNAP-LINK Architecture Guide
  • SNAP-LINK Problem Determination Guide
  • SNAP-LINK Product Overview

For more information about SNAP-LINK contact .