Frame Relay Link Layer

Frame Relay is a link layer protocol which is not error free. Three styles of management signaling are supported: None, LMI, and Annex D.

Function Mapping

No Management Signaling - Major Device.
Function Mapping
Connect Request Responds with lgo_EVENT_CONNECTED.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first I frame.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Not used.
Write Special Not used.
Xoff Not used.
Xon Not used.
Reset Request Responds with lgo_EVENT_RESET_COMPLETE.
Reopen Purges buffer queues and blocks all PVCs.
LMI - Major Device.
Function Mapping
Connect Request Sends STATUS ENQUIRY.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first frame.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Not used.
Write Special Not used.
Xoff Not used.
Xon Not used.
Reset Request Sends a STATUS ENQUIRY.
Reopen Purges buffer queues and blocks all PVCs.
Annex D - Major Device.
Function Mapping
Connect Request Sends STATUS ENQUIRY.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first frame.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Not used.
Write Special Not used.
Xoff Not used.
Xon Not used.
Reset Request Sends a STATUS ENQUIRY.
Reopen Purges buffer queues and blocks all PVCs.
No Management Signaling - PVC.
Function Mapping
Connect Request Responds with lgo_EVENT_CONNECTED.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first frame, then responds with lgo_EVENT_CONNECTED.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Sends a frame.
Write Special No special flags recognized.
Xoff Sets the BECN bit on all frames sent.
Xon Clears the BECN bit on all frames sent.
Reset Request Responds with lgo_EVENT_RESET_COMPLETE.
Reopen Purges buffer queues.
LMI - PVC
Function Mapping
Connect Request Responds with lgo_EVENT_CONNECTED if the PVC has been reported to be ACTIVE by the major device, otherwise responds with lgo_EVENT_DISCONNECTED.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first frame, then responds with lgo_EVENT_CONNECTED.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Sends a frame.
Write Special No special flags recognized.
Xoff Sets the BECN bit on all frames sent.
Xon Clears the BECN bit on all frames sent.
Reset Request Resets the congestion control parameters to their configured values and responds with lgo_EVENT_RESET_COMPLETE.
Reopen Purges buffer queues.
Annex D - PVC
Function Mapping
Connect Request Responds with lgo_EVENT_CONNECTED if the PVC has been reported to be ACTIVE by the major device, otherwise responds with lgo_EVENT_DISCONNECTED.
Connect Accept Not used.
Connect Reject Not used.
Listen Waits for first frame, then responds with lgo_EVENT_CONNECTED.
Disconnect Request Responds with lgo_EVENT_DISCONNECTED.
Disconnect Confirm Not used.
Write Sends a frame.
Write Special No special flags recognized.
Xoff Sets the BECN bit on all subsequent frames.
Xon Clears the BECN bit on subsequent frames.
Reset Request Resets the congestion control parameters to their configured values and responds with lgo_EVENT_RESET_COMPLETE.
Reopen Purges buffer queues.

Configuration Profile

Major Device

Parameters beginning with "Is DCE?" are effective only when a management signaling protocol (LMI or Annex D) is used. Otherwise, there is no link integrity verification.

The basic link integrity verification algorithm used by both LMI and Annex D is defined in ANSI T1.617-1991 Annex D. Every T1 seconds, the DCE sends a keep alive STATUS ENQUIRY message to the DCE. The DCE responds with STATUS message. Both messages contain sequence numbers. An error has occurred if any message is received out of sequence, if the DCE fails to receive a keep alive message within T2 seconds of the last one or the DTE fails to receive a response to its message within T1 seconds. If N2 out of N3 link verification events have resulted in errors, a link integrity alarm is considered to exist. The alarm is cancelled when N3 consecutive events are error free.

Both LMI and Annex D provide for the exchange of PVC status information during the keep alive polling. Every N1th STATUS ENQUIRY, the DTE may request a full status response containing the availability status of each PVC on the link. LayGO uses this information to control the state of the PVCs. Annex D also provides for bidirectional polling in which both DTE and DCE poll and are polled.

Parameter Explanation
Number of PVCs The maximum number of PVCs open at one time.
Frame Size Maximum The maximum frame size in bytes
Write Maximum The maximum number of frames to enqueue to the physical layer.
Management Signaling Management signaling protocol to use:
0 None
1 LMI
2 Annex D
Is DCE? TRUE if the side should be the DCE for a back-to-back connection (LMI and Annex D only).
Is bidirectional? TRUE if signaling is bidirectional (Annex D only).
Full Status Polling Counter N1 Link intergity verification parameter N1
Error Threshold N2 Link intergity verification parameter N2
Monitored Events Count N3 Link intergity verification parameter N3
T1 Keep Alive timeout Link intergity verification timeout T1 in milliseconds.
T2 Polling Verification timeout Link intergity verification timeout T2 in milliseconds. Must be greater than T1.
PVC

The LayGO's Frame Relay PVCs use a variation of the windowing algorithm described in ANSI T1.618-1991 Annex A to control the load offered to the Frame Relay network. The algorithm is based on explicit congestion notification. Explicit notification is considered to be the receipt of any frame with the BECN bit set or the receipt of more frames with the FECN bit set than cleared during a period of time. The algorithm is based on the assumption that the average frame size sent is relatively constant. The value of the parameters should be based on the committed information rate (CIR).

A current window size W is defined and set to an initial value. During the period defined by the congestion timeout, no more than W frames are transmitted to the network. If, during that time, no explicit notification of network congestion is received, W is increased by a given factor. For example, if the factor is 3, the window size is increased by one third. If W may be increased, it is always increased by at least 1. On the other hand, if explicit notification of network congestion is received, W is reduced by a given factor as in the example above. Again, if W must be decreased, it is always decreased by at least 1. In no case is W increased above the given maximum or decreased below the given minimum. The minimum must be at least 1.

Function Explanation
Minimum window size Minimum congestion window size. Must be greater than 0.
Maximum window size Maximum congestion window size. Must be greater than or equal to the minimum size.
Initial window size Initial size of the congestion window. Must be in the range defined by window minimum and maximum.
Factor to increase window size Factor by which to increase the window size if no explicit congestion notification is received. Must be greater than 0.
Factor to decrease window size Factor by which to decrease the window size if explicit congestion notification is received. Must be greater than 0.
Congestion timeout Time in milliseconds to adjust the window size based on explicit congestion notification.

Ioctl Functions

Major Device
Function Explanation
None  
PVC
Function Explanation
Set DE bit Sets the DE (Discard Eligibility) bit in all subsequent frames. (This is the default for Frame Relay PVCs.)
Clear DE bit Clears the DE (Discard Eligibility) bit in all subsequent frames.