llc2

- LLC2 Configuration file

Synopsis

/etc/llc2/default/llc2.*

Description

The llc2 files contain information needed by LLC2 to establish the appropriate links
to the underlying MAC layer drivers as well as the parameters necessary
to configure the LLC (Logical Link Control) Class II Station Component structures for that
link.

The comments are made up of one or more lines starting with
the "#" character in column 1.

The main section consists of keyword/value pairs of the form keyword=value, used
to initialize the particular adapter.

MAC specific Parameters

The llc2.ppa file contains 4 parameters directly related to the underlying MAC-level
driver. These are the name of the physical device, the instance of the
device, whether LLC2 can be used with this device, and whether the device
is capable of looping back data addressed to the node's unique MAC address, broadcast
address, or multicast addresses.

Setting the llc2_on parameter to 1 means that LLC2 can be used with
this device; setting it to 0 means otherwise. Setting the loopback parameter to
1 means that the LLC2 module will loop back data addressed to this
node's unique MAC address or to a broadcast/multicast address.

The most likely use is for a media that cannot receive its
own transmissions (for example, ethernet) or when the MAC-level driver intentionally does not loop
back data addressed to the local node under the assumption that the upper
layers have already done so.

Host-Based LLC2 Parameters

The LLC2 contains ten parameters in the configuration file (/etc/llc2/default/llc2.ppa) that apply to
configurations using the Host-Based LLC2 component for connection-oriented operation over an Ethernet, Token
Ring, or FDDI media.

The ten parameters break down into the following four groups:

Six parameters deal with timer settings for managing the flow of LLC elements of procedure (PDUs) on a data link connection.

One parameter is the multiplier that is used to determine the period of the interval timer for the station. A value of 1 means that each tick count represents 100 milliseconds; 5 means each tick count is 500 milliseconds. Should the parameter be omitted, the default value is 5, except for Token Ring links which use a default of 1.

One parameter indicates how many times an operation should be retried on a data link connection.

Two parameters are for controlling the number of unacknowledged I PDUs to send or receive on a data link connection.

Additional information on these parameters can be found in ISO 8802-2:1989, Section 7.8.

The following table of Logical Link Control Parameters provides the LLC configuration parameter names, default values,
and ranges.

Parameter

Description

Default

Range

timeinterval

The timer ticks in 100 ms intervals. This parameter is used
to scale the following 5 timer parameters.

The maximum number of unacknowledged I-format protocol data units that can
be transmitted on a connection before awaiting an acknowledgment.

14

0 - 127

rcvwindowsz

The maximum
number of unacknowledged I-format protocol data units that can be received on
a connection before an acknowledgment is sent.

14

0 - 127

Default values are set when the following conditions are true:

The parameter is not set by the user.

The user requests a default /etc/llc2/default/llc2.instance file, where instance is the sequence number, starting with 0, of the adapter as detected by ifconfig(1M). For example, if there are 3 adapters on the machine, the default configuration files will be named in order as /etc/llc2/default/llc2.0, /etc/llc2/default/llc2.1, and /etc/llc2/default/llc2.2.

The user codes a value of 0 for a parameter.

Timer Parameter Descriptions

acktimer

The acktimer parameter is used to manage the following sample sequences:

Response acknowledgment timer expires before the receipt of an acknowledgment.

start poll timer
RR -------------------------------->

polltimer

The polltimer parameter is used to manage situations where a Supervisory command PDU (RR, RNR, or REJ) is sent with the P/F bit set. This type of PDU is typically sent when:

There has been a period of inactivity on a connection in information transfer mode.

The remote node must be notified of a local busy condition occurring in information transfer mode.

The expiration of the poll timer causes another Supervisory command PDU (which may be of a different type than the first) to be sent with the P/F bit set, provided the retry count has not exceeded the maximum retry value. This timer, then, provides an extended retry mechanism for a connection in information transfer mode.

rejecttimer

The rejecttimer parameter controls the frequency with which a REJ PDU is sent to a remote node from which an I PDU with an unexpected N(S) was received and which has not corrected the situation by sending an I PDU with the expected N(S).

The rembusytimer parameter is used to determine how long the local node should wait, after the remote node sends an RNR to indicate it is busy, before sending a Supervisory PDU with the P/F bit set to solicit the current state of the remote node. If the remote node indicates that it has cleared its busy condition before the timer expires, the local node stops the remote busy timer.

inacttimer

The inacttimer parameter controls how much time is allowed to elapse on a connection in information transfer mode between the issuing of command PDUs by the local node. If the inactivity timer expires because a command PDU has not been generated in the configured time interval, a Supervisory PDU with the P/F bit set is sent to the remote node to solicit its current state, provided that the connection is in information transfer mode. Each time a command PDU is sent by the local node, the inactivity timer is restarted.

The following rules of thumb should apply for the timer parameters:

The acktimer, rsptimer, and polltimer parameters should have small relative values to allow for quick recovery from common transient error conditions on a connection.

The rejecttimer and rembusytimer parameters should have intermediate relative values to allow the local and remote nodes time to recover without resorting to possibly unnecessary polling cycles.

The inacttimer parameter should be set to a large relative value to provide a safety net in information transfer mode.

You may need to shift the values for the timer parameters to
higher values if bridges are included in the network or a user application
requires a substantial amount of time to respond to connection establishment requests or handle
information flow.

Maximum Retry Parameter Description

The maxretry parameter determines the number of times a recovery operation is
performed before notifying the user that an error has occurred on a connection.
Typical examples of its use include the following:

When the remote node fails to respond to a SABME sent by the local node to establish or reset the connection, the SABME is resent each time the acknowledgment timer expires, up to maxretry number of times.

In information transfer mode, if the response acknowledgment timer expires after an I PDU has been sent, an RR with the P/F bit set is sent (and resent each time the poll timer expires) until the remote node responds or maxretry number of RRs have been sent.

In general, the maxretry value should not need to be large. Since the
acknowledgment and poll timers are typically used in recovery operations that involve the
maxretry parameter, the product of maxretry and either acktimer, rsptimer, or polltimer gives a
rough estimate of the length of time allotted for the connection to attempt
internal error recovery before notifying the user.

Window Size Parameter Descriptions

rcvwindowsz

The rcvwindowsz parameter is used to set the receive window size for I PDUs received locally on a connection. This value should agree with the transmit window size set for the connection at the remote node. If the local rcvwindowsz is greater than the remote transmit window size, I PDUs sent by the remote node are not acknowledged quickly. If the local rcvwindowsz is less than the remote transmit window size, there is a greater risk of the local node generating FRMR PDUs, requiring intervention by the user application when transient errors on the connection require the remote node to retransmit an I PDU. REJ PDUs are recovered internally.

xmitwindowsz

The xmitwindowsz parameter sets the local transmit window size for a connection. It denotes the number of unacknowledged I PDUs that the local node may have outstanding. The configured value should match the receive window size for the connection at the remote node, based on the same reasoning as for the rcvwindowsz parameter.

In many cases, the values assigned to rcvwindowsz and xmitwindowsz for adapters on
a server node will depend on the transmit and receive window sizes specified
for another LLC implementation on a client node. In cases where this LLC
implementation is resident in both nodes, larger values for these parameters are useful
in environments where much of the activity on a connection consists of file
transfer operations. Smaller values are warranted if analysis of LLC2 connection component statistics reveals
that connections are entering local or remote busy state frequently.