7 Elements for layer-to-layer communication

04.643GPPGeneral Packet Radio Service (GPRS)Mobile Station - Serving GPRS Support Node (MS-SGSN) Logical Link Control (LLC) layer specificationTS

7.1 Definition of service primitives and parameters

Communications between layers and between entities within the logical link control layer are accomplished by means of service primitives. Service primitives represent, in an abstract way, the logical exchange of information and control between the logical link control layer and adjacent layers. They do not specify or constrain implementations.

Service primitives consist of commands and their respective responses associated with the services requested of another layer. The general syntax of a primitive is:

XXX ‑ Generic name ‑ Type (Parameters)

where XXX designates the service access point between the LLC layer and the layer providing or using the service. For the present document XXX is:

– "LLGMM" for the SAP between the LLC layer and the GPRS mobility management function;

– "LL" for the SAPs between the LLEs and layer 3;

– "GRR" for the SAP between the LLC layer and the RLC/MAC layer; and

– "BSSGP" for the SAP between the LLC layer and the BSSGP layer.

7.1.1 Primitives types

The primitives types defined in the present document are:

NOTE: For the action sequence of these primitive types, see 3GPP TS 04.01 [7].

7.1.1.1 Request

The Request primitive type is used when a higher layer is requesting a service from the next lower layer.

7.1.1.2 Indication

The Indication primitive type is used by a layer providing a service to notify the next higher layer of activities related to the Request primitive type of the peer.

7.1.1.3 Response

The Response primitive type is used by a layer to acknowledge receipt, from the next lower layer, of the Indication primitive type.

7.1.1.4 Confirm

The Confirm primitive type is used by the layer providing the requested service to confirm that the activity has been completed (successfully or unsuccessfully).

7.1.2 LLC layer service primitives

A service primitive specifies the activity that the identified layer should perform. Table 7 lists the primitives defined in the present document.

Table 7: LLC layer service primitives

Generic Name

Location

Type

Parameters

MS

SGSN

REQ

IND

RES

CNF

GMM  LLME

LLGMM-ASSIGN

X

X

X

TLLI Old, TLLI New, Kc, Ciphering Algorithm

LLGMM-RESET

X

X

X

TLLI

LLGMM-TRIGGER

X

X

TLLI, Cause

LLGMM-SUSPEND

X

X

TLLI

LLGMM-SUSPEND

X

X

TLLI, Page

LLGMM-RESUME

X

X

X

TLLI

LLGMM-PAGE

X

X

TLLI

LLGMM-IOV

X

X

X

TLLI

LLGMM-STATUS

X

X

X

TLLI, Cause

GMM  LLE, SNDCP  LLE, and SMS  LLE

LL-RESET

X

X

X

TLLI

LL-ESTABLISH

X

X

X

TLLI, XID Req

LL-ESTABLISH

X

X

X

TLLI, XID Req, N201‑U, N201‑I

LL-ESTABLISH

X

X

X

TLLI, XID Neg

LL-ESTABLISH

X

X

X

TLLI, XID Neg, N201‑U, N201‑I

LL-RELEASE

X

X

X

TLLI, Local

LL-RELEASE

X

X

X

TLLI, Cause

LL-RELEASE

X

X

X

TLLI

LL-XID

X

X

X

TLLI, XID Req

LL-XID

X

X

X

TLLI, XID Req, N201‑U, N201‑I

LL-XID

X

X

X

TLLI, XID Neg

LL-XID

X

X

X

TLLI, XID Neg, N201‑U, N201‑I

LL-DATA

X

X

TLLI, L3‑PDU, Reference, QoS Parameters, Radio Priority

LL-DATA

X

X

TLLI, L3‑PDU, Reference, QoS Parameters

LL-DATA

X

X

X

TLLI, L3‑PDU

LL-DATA

X

X

X

TLLI, Reference

LL-UNITDATA

X

X

TLLI, L3‑PDU, QoS Parameters, Radio Priority, Cipher

LL-UNITDATA

X

X

TLLI, L3‑PDU, QoS Parameters, Cipher

LL-UNITDATA

X

X

X

TLLI, L3‑PDU, Cipher

LL-STATUS

X

X

X

TLLI, Cause

LLE  RLC/MAC

GRR-DATA

X

X

TLLI, LL‑PDU, SAPI, Cause, QoS Parameters, Radio Priority

GRR-DATA

X

X

TLLI, LL‑PDU

GRR-UNITDATA

X

X

TLLI, LL‑PDU, SAPI, QoS Parameters, Radio Priority

GRR-UNITDATA

X

X

TLLI, LL‑PDU

LLE  BSSGP

BSSGP-DL-UNITDATA

X

X

TLLI, LL‑PDU, QoS Parameters, RLC Confirm, SAPI

BSSGP-UL-UNITDATA

X

X

TLLI, LL‑PDU, Cell Id

7.2 Primitive procedures

7.2.1 GMM ‑ LLME primitives

7.2.1.1 LLGMM-ASSIGN

The LLGMM-ASSIGN primitive shall be used by the GPRS mobility management entity to assign, change, or unassign the TLLI, the ciphering key (Kc) and the ciphering algorithm.

The TLLI Old and TLLI New parameters shall be interpreted as follows:

– If TLLI Old = all 1’s and TLLI New  all 1’s then TLLI New shall be assigned and used when (re‑)transmitting LLC frames. If a TLLI Old  all 1’s was assigned to the LLME, then TLLI Old is unassigned. Only TLLI New shall be accepted when received from the peer. It shall be treated as a TLLI change according to subclause 8.3.2. If TLLI Old = all 1’s was assigned to the LLME, then this shall be treated as a TLLI assignment according to subclause 8.3.1, and the LLGMM-ASSIGN-REQ shall be the first primitive sent by GMM in order to enable LLC to process requests from layer 3.

– If TLLI Old  all 1’s and TLLI New  all 1’s then TLLI Old and TLLI New are assigned, and TLLI New shall be used when (re‑)transmitting LLC frames. Both TLLI Old and TLLI New shall be accepted when received from the peer. It shall be treated as a TLLI change according to subclause 8.3.2.

– If TLLI Old  all 1’s and TLLI New = all 1’s then TLLI Old shall be unassigned. It shall be treated as a TLLI unassignment according to subclause 8.3.3, and the LLGMM-ASSIGN-REQ shall be the last primitive sent by GMM in order to disable LLC to not any longer process requests from layer 3.

An LLC frame received with a DLCI belonging to an unassigned TLLI shall be discarded without any further actions, with the following exception: UI and XID frames with TLLI = unassigned and SAPI = 1 received in the SGSN shall be handled according to the LLC protocol.

Kc and Ciphering Algorithm are associated with TLLI New (and with TLLI Old if assigned):

– If Ciphering Algorithm indicates no ciphering, then the ciphering function shall be disabled.

– Otherwise, the ciphering function shall be enabled. If a Ciphering Algorithm was already associated with TLLI New or TLLI Old, then the new Kc shall replace the previous Kc, and Ciphering Algorithm shall replace the previous algorithm selection. All I frames, and UI frames with the E bit set to 1, shall use the new Kc and algorithm for ciphering. All unacknowledged I frames shall be ciphered using the new Kc and algorithm before retransmission. As an implementation option, the previous Kc and algorithm may be used to decipher received frames.

7.2.1.2 LLGMM-RESET

LLGMM-RESET-REQ shall be used to order LLC in the SGSN to perform an XID negotiation of Reset and IOV‑UI. The LLC layer shall randomly select the value of IOV‑UI.

LLGMM-RESET-CNF shall be used to inform GMM in the SGSN that a successful XID negotiation of Reset and IOV‑UI has been made.

7.2.1.3 LLGMM-TRIGGER

LLGMM-TRIGGER-REQ shall be used in the MS to order LLC to transmit any single frame. If there is a frame waiting to be transmitted in the MS, this frame shall be transmitted. Otherwise, and if the LLE is in ABM state, a supervisory frame shall be transmitted according to subclause 8.6.4.1. If the LLE is in ADM state a UI frame with no information field shall be transmitted. There is only need to transmit a frame on one SAPI. Which SAPI to choose is implementation dependent.

LLGMM-TRIGGER-REQ is normally used for cell updates or for page responses, and the reason shall be indicated in the Cause parameter. If Cause indicates page response, then the GRR-DATA-REQ Cause parameter shall also indicate page response.

7.2.1.4 LLGMM-SUSPEND

LLGMM-SUSPEND-REQ shall be used to order LLC to suspend operation for an MS until LLGMM-RESUME-REQ is received. While suspended, LLC shall:

– reset timer T201 if running and (in the SGSN) if the Page parameter is not set; and

– stop frame transmission.

Frame reception shall still be possible. The Page parameter in the SGSN controls whether LLGMM-PAGE-IND shall be sent to GMM or not (see subclause 7.2.1.6). In the MS, and in the SGSN if the Page parameter is not set, ADM procedures for SAPI = 1 including UI frame transmission shall still be possible, and ABM (re‑)establishment, ABM release, and XID negotiation procedures on all SAPIs including U frame transmission shall still be possible.

L3‑PDUs and unacknowledged I frames that are buffered shall be preserved while LLC operation is suspended, and may be deleted by procedures allowed while LLC operation is suspended.

The state (e.g., ABM, ADM) and the state variables (e.g., the transmit and receive counters) shall be preserved while LLC operation is suspended, and may be changed by procedures allowed while LLC operation is suspended.

7.2.1.5 LLGMM-RESUME

LLGMM-RESUME-REQ shall be used to order LLC to resume a suspended operation for an MS. LLC operation shall continue with the current set of buffered L3‑PDUs, buffered unacknowledged I frames, the state, and the state variables. If timer T201 was reset upon reception of LLGMM-SUSPEND-REQ then timer T201 shall be set.

7.2.1.6 LLGMM-PAGE

If the Page parameter received in the LLGMM-SUSPEND-REQ primitive is set to true, LLGMM-PAGE-IND shall be sent to GMM in the SGSN whenever LLC has an LL‑PDU ready for transmission and LLC operation is suspended. The LL‑PDU shall not be transmitted until LLGMM-RESUME-REQ has been received from GMM.

If the Page parameter is set to false, LLGMM-PAGE-IND shall not be sent, and the LL‑PDU shall not be transmitted until LLGMM-RESUME-REQ has been received from GMM.

NOTE: LLGMM-PAGE-IND causes GMM to initiate paging of the MS.

7.2.1.7 LLGMM-IOV

LLGMM-IOV-REQ shall be used to order LLC in the SGSN to perform an XID negotiation of IOV‑UI. The LLC layer shall randomly select the value of IOV‑UI.

LLGMM-IOV-CNF shall be used to inform GMM in the SGSN that a successful XID negotiation of IOV‑UI has been made.

7.2.1.8 LLGMM-STATUS

LLGMM-STATUS-IND shall be used to inform GMM when an LLC error that cannot be corrected by the LLC layer has occurred.

7.2.2 Layer 3 ‑ LLE primitives

7.2.2.1 LL-RESET

LL-RESET-IND shall be used in the SGSN to indicate that the Reset XID parameter is transmitted to the MS. LL-RESET-IND shall be used in the MS to indicate that the Reset XID parameter has been received from the SGSN.

7.2.2.2 LL-ESTABLISH

The LL-ESTABLISH primitives shall be used to request, indicate, respond to, and confirm establishment of ABM operation. XID Req and XID Neg are used to negotiate layer‑3 XID parameters between the layer‑3 peers, see 3GPP TS 04.65.

7.2.2.3 LL-RELEASE

The LL-RELEASE primitives shall be used to request, indicate, and confirm termination of a previously established ABM operation. The Local parameter indicates whether the termination shall be local, i.e., a DISC frame shall not be transmitted, or not local, i.e., a DISC frame shall be transmitted. The Cause parameter indicates the cause for termination of ABM operation.

7.2.2.4 LL-XID

The LL-XID primitives shall be used to request, indicate, respond to, and confirm negotiation of layer‑3 XID parameters.

7.2.2.5 LL-DATA

The LL-DATA primitives shall only be used for LLEs in ABM. The following operations are defined:

– LL-DATA-REQ shall be used to request the confirmed transmission of an L3‑PDU to the peer. QoS Parameters in the SGSN includes precedence class, delay class, and peak throughput. QoS Parameters in the MS includes peak throughput. QoS Parameters is defined as part of the Quality of Service information element in 3GPP TS 04.08. Radio Priority indicates the radio priority level to be used by RLC/MAC.

– LL-DATA-IND shall be used to deliver a correctly received L3‑PDU to layer 3.

– LL-DATA-CNF shall be used to confirm the delivery of an L3‑PDU to layer 3 in the peer. The Reference parameter shall be set to the same value as the Reference parameter received in the corresponding LL-DATA-REQ.

7.2.2.6 LL-UNITDATA

LL-UNITDATA-REQ shall be used to request the unconfirmed transmission of an L3‑PDU to the peer. QoS Parameters in the SGSN includes precedence class, delay class, reliability class, and peak throughput. QoS Parameters in the MS includes peak throughput and reliability class. Reliability class indicates whether the UI frame carrying the L3‑PDU shall be transmitted in protected or unprotected mode, and whether RLC/MAC acknowledged or unacknowledged mode shall be used. Radio Priority indicates the radio priority level to be used by RLC/MAC. Cipher indicates whether the UI frame shall be ciphered or not.

LL-UNITDATA-IND shall be used to deliver an L3‑PDU received in a UI frame to layer 3. Cipher indicates whether the received UI frame was ciphered or not.

7.2.2.7 LL-STATUS

LL-STATUS-IND shall be used to inform layer 3 when an LLC error that cannot be corrected by the LLC layer has occurred.

7.2.3 LLE ‑ RLC/MAC primitives

Although the GRR-DATA or GRR-UNITDATA primitives are used in all LLC frame transfer operations, for simplicity reasons they are not included in the procedure descriptions in clause 8.

7.2.3.1 GRR-DATA

GRR-DATA-REQ shall be used by an LLE in an MS to request the reliable transmission of an LL‑PDU. SAPI indicates the SAPI of the LLE. Cause indicates whether GRR-DATA-REQ is sent due to a page response. QoS Parameters includes peak throughput. For UI frames, peak throughput shall be set according to the QoS parameters of the layer‑3 entity requesting the transmission of the UI frame. For all other LLC frames, peak throughput may be set according to the QoS parameters for any layer‑3 entity that is using the SAPI. Radio Priority indicates the radio priority level to be used by RLC/MAC.

GRR-DATA-IND shall be used by the RLC/MAC layer in an MS to indicate the successful reception of an LL‑PDU. The LL‑PDU was completely received without errors detected by the RLC layer.

All LLC frames except UI frames for SAPIs 3, 5, 9, and 11 shall be transferred with GRR-DATA primitives. All UI frames for SAPIs 3, 5, 9, and 11 shall be transferred with GRR-DATA or GRR-UNITDATA primitives.

7.2.3.2 GRR-UNITDATA

GRR-UNITDATA-REQ shall be used by an LLE in an MS to request the unreliable transmission of a UI frame. SAPI indicates the SAPI of the LLE. QoS Parameters includes peak throughput. Peak throughput shall be set according to the QoS parameters of the layer‑3 entity requesting the transmission of the UI frame. Radio Priority indicates the radio priority level to be used by RLC/MAC.

GRR-UNITDATA-IND shall be used by the RLC/MAC layer in an MS to indicate the reception of a UI frame.

Only UI frames for SAPIs 3, 5, 9, and 11 shall be transferred with GRR-UNITDATA primitives.

7.2.4 LLE ‑ BSSGP primitives

Although the BSSGP-UNITDATA primitives are used in all LLC frame transfer operations, for simplicity reasons they are not included in the procedure descriptions in clause 8.

7.2.4.1 BSSGP-DL-UNITDATA

BSSGP-DL-UNITDATA-REQ shall be used by an LLE in an SGSN to request the transmission of an LL‑PDU. QoS Parameters includes precedence class, delay class, and peak throughput. RLC Confirm indicates whether the request shall be mapped into a GRR-DATA-REQ or GRR-UNITDATA-REQ primitive in the BSS. SAPI indicates the SAPI of the LLE.

All LLC frames except UI frames for SAPI 3, 5, 9 and 11 shall be transferred with RLC Confirm indicating mapping into GRR-DATA-REQ primitive. All UI frames for SAPIs 3, 5, 9, and 11 shall be transferred with RLC Confirm indicating mapping into a GRR-DATA-REQ or GRR-UNITDATA-REQ primitives.

7.2.4.2 BSSGP-UL-UNITDATA

BSSGP-UL-UNITDATA-IND shall be used by the BSSGP layer in an SGSN to indicate the reception of an LL‑PDU. Cell Id indicates the location of the MS when the LL‑PDU was transmitted.

7.2.5 LLME ‑ LLE primitives

The primitives that co-ordinate activities between the LLM and LL entities are not described. Implementations shall perform the necessary co-ordination between GMM  LLME primitives and LLE operation.