Package: simu5g.stack.rlc
LteRlc
compound moduleThe LteRlc module implements the functionalities of the Radio Link Control (RLC) layer. It provides mechanisms for end-to-end connectivity over the radio interface. It sends and receives RLC Service Data Units (SDUs) to and from the Packet Data Convergence Protocol (PDCP) layer, and sends and receives RLC Protocol Data Units (PDUs) to and from the Medium Access Control (MAC) layer. Depending on the mode, this layer can provide segmentation, concatenation, in-sequence delivery, and retransmission of PDUs. Currently, only the Unacknowledged Mode (UM) has been implemented.
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Used in compound modules
Name | Type | Description |
---|---|---|
LteNicBase | compound module |
The LteNicBase module serves as the foundational building block for LTE networking in Simu5G. It integrates protocols for LTE communication, including PDCP, RLC, MAC, and PHY layers. This base module allows higher-level modules, such as User Equipment (UE) and eNodeB (evolved Node B), to configure and utilize these layers according to their specific requirements. |
NRNicUe | compound module |
This module defines a User Equipment (UE) network interface card that supports both LTE and NR (New Radio) technologies. It extends the LteNicUeD2D module by adding additional submodules and parameters to support NR-specific functionalities. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
d2dCapable | bool |
inherit the value from the parent module |
Properties
Name | Value | Description |
---|---|---|
display | i=block/transport |
Gates
Name | Direction | Size | Description |
---|---|---|---|
TM_Sap | inout |
Transparent Mode SAP |
|
UM_Sap | inout |
Unacknowledged Mode SAP |
|
AM_Sap | inout |
Acknowledged Mode SAP |
|
MAC_to_RLC | input |
MAC to RLC |
|
RLC_to_MAC | output |
RLC to MAC |
Unassigned submodule parameters
Name | Type | Default value | Description |
---|---|---|---|
tm.queueSize | int | 2MiB |
RLC SDU queue size (0: unlimited) |
um.queueSize | int | ||
um.mapAllLcidsToSingleBearer | bool |
Source code
// // The LteRlc module implements the functionalities of the Radio Link Control (RLC) layer. // It provides mechanisms for end-to-end connectivity over the radio interface. It // sends and receives RLC Service Data Units (SDUs) to and from the Packet Data Convergence // Protocol (PDCP) layer, and sends and receives RLC Protocol Data Units (PDUs) to and from the // Medium Access Control (MAC) layer. Depending on the mode, this layer can provide // segmentation, concatenation, in-sequence delivery, and retransmission of PDUs. // Currently, only the Unacknowledged Mode (UM) has been implemented. // module LteRlc { parameters: @display("i=block/transport"); bool d2dCapable; // inherit the value from the parent module gates: //# //# Gates connecting PDCP/RRC and RLC Layers //# inout TM_Sap; // Transparent Mode SAP inout UM_Sap; // Unacknowledged Mode SAP inout AM_Sap; // Acknowledged Mode SAP //# //# Gates connecting RLC and MAC Layers //# input MAC_to_RLC; // MAC to RLC output RLC_to_MAC; // RLC to MAC submodules: // TM Module tm: LteRlcTm { @display("p=100,100;"); } // UM Module um: <(d2dCapable ? "LteRlcUmD2D" : "LteRlcUm")> like ILteRlcUm { @display("p=200,100;"); } // AM Module am: LteRlcAm { @display("p=300,100;"); } // Muxer Module mux: LteRlcMux { @display("p=200,200"); } connections: //# //# Connections from RLC (up) //# to TM/UM/AM modules //# tm.TM_Sap_up <--> TM_Sap; um.UM_Sap_up <--> UM_Sap; am.AM_Sap_up <--> AM_Sap; //# //# Connections from TM/UM/AM //# modules to the RLC Mux //# tm.TM_Sap_down <--> mux.TM_Sap; um.UM_Sap_down <--> mux.UM_Sap; am.AM_Sap_down <--> mux.AM_Sap; //# //# Connections between Mux //# and RLC (down) //# mux.MAC_to_RLC <-- MAC_to_RLC; mux.RLC_to_MAC --> RLC_to_MAC; }File: src/stack/rlc/LteRlc.ned