Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Thursday, June 13, 2019
 
 

llc2(5)

Name

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.

A sample of the llc2 is presented below:

devicename=/dev/dnet
deviceinstance=1
llc2_on=1         # LLC2: On/Off on this device
deviceloopback=1
timeinterval=0    # LLC2: Timer Multiplier
acktimer=2        # LLC2: Ack Timer
rsptimer=2        # LLC2: Response Timer
polltimer=4       # LLC2: Poll Timer
rejecttimer=6     # LLC2: Reject Timer
rembusytimer=8    # LLC2: Remote Busy Timer
inacttimer=30     # LLC2: Inactivity Timer
maxretry=6        # LLC2: Maximum Retry Value
xmitwindowsz=14   # LLC2: Transmit Window Size
rcvwindowsz=14    # LLC2: Receive Window Size

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.
5, except TPR - 1
0 - 10
acktimer
The connection acknowledgment timer length in (100 * timeinterval) ms.
2
> 0
rsptimer
The response acknowledgment timer length in (100 * timeinterval) ms.
2
> 0
polltimer
The connection poll timer length in (100 * timeinterval) ms.
4
> 0
rejecttimer
The connection reject timer length in (100 * timeinterval) ms.
6
> 0
rembusytimer
The connection remote busy timer length in (100 * timeinterval) ms.
8
> 0
inacttimer
The connection inactivity timer length in (100 * timeinterval) ms.
30
> 0
maxretry
The maximum number of retries of an action on a connection.
6
0 - 100
xmitwindowsz
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(8). 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:

  1. Attempting to establish, reset, or disconnect a connection.

        SABME     start acknowledgment timer
         or   -------------------------------->
        DISC
    
    

    The acknowledgment timer expires before the receipt of a response.

        SABME     start acknowledgment timer
         or   -------------------------------->
        DISC
    
           stop acknowledgment timer
        <-------------------------------- UA
    
    
  2. Sending an FRMR in response to a received PDU of dubious distinction:

                             PDU with invalid N(R)
                                     or
                             I PDU with invalid N(S)
                                     or
        <------------------- PDU of invalid length
                                     or
                             unexpected UA PDU
                                     or
                             response PDU with
                             invalid P/F setting 
    
                   start acknowledgment timer
        FRMR  -------------------------------->
    
    

    Acknowledgment timer expires before the receipt of a PDU .

                   start acknowledgment timer
        FRMR  -------------------------------->
                                                          
         stop acknowledgment timer           
                                           SABME, FRMR
        <-------------------------------   DISC, or DM
    
    
  3. There is also a special case of the acknowledgment timer, referred to in this implementation as the response acknowledgment timer (rsptimer). It is used when sending an I PDU.

           start response acknowledgement timer
        I  -------------------------------------->
    
    

    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).

       <-----------------------  I PDU with
                                 unexpected N(S)
             start reject timer
    REJ  ------------------------>

Reject timer expires before the receipt of an I PDU with an expected N(S).

          start reject and poll timer
    REJ  ----------------------------->
          stop reject and poll timer
        <---------------------------   I PDU with
                                       expected N(S)

rembusytimer

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 PDU s 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.

Files

/etc/llc2/default/llc2.*

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Obsolete

See Also

llc2_config(1), llc2_autoconfig(1), llc2(4D), ifconfig(8)

Notes

The llc2 driver might be removed in a future release of Solaris.