Package: simu5g.stack.rlc
IRlcMux
module interfaceModule interface for the lower-layer RLC packet dispatcher of a cellular NIC (see RlcMux for the default implementation). Implementations dispatch packets coming from the MAC layer to the RLC RX entity serving their DRB (or, for MAC SDU requests, to its TX entity), and pass the output of the TX entities down to MAC. The per-bearer gates are created and wired at runtime by BearerManagement, which also registers the RX routing table; implementations must therefore subclass the RlcMux C++ class.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
| Name | Type | Description |
|---|---|---|
| RlcMux | simple module |
Lower-layer RLC packet dispatcher. |
| RlcMuxD2D | simple module |
Device-to-Device (D2D) aware version of RlcMux. It additionally handles D2D mode switch notifications arriving from the MAC layer, dispatching them to the TX or RX UM entity of the affected bearer, and declares the D2D statistics (emitted by the D2D UM entities). Selected by the D2D-capable NICs. |
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 |
Defines a User Equipment (UE) network interface card that supports both LTE and NR (New Radio) technologies. It extends the LteNicUe module by adding additional submodules and parameters to support NR-specific functionalities. D2D support is added by the NrNicUeD2D subtype. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| bearerManagementModule | string |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/dispatch |
Source code
// // Module interface for the lower-layer RLC packet dispatcher of a cellular NIC // (see ~RlcMux for the default implementation). Implementations dispatch packets // coming from the MAC layer to the RLC RX entity serving their DRB (or, for MAC // SDU requests, to its TX entity), and pass the output of the TX entities down to // MAC. The per-bearer gates are created and wired at runtime by ~BearerManagement, // which also registers the RX routing table; implementations must therefore // subclass the RlcMux C++ class. // moduleinterface IRlcMux { parameters: string bearerManagementModule; @display("i=block/dispatch"); gates: input macIn; output macOut; output toRxEntity[]; // Dynamic: dispatches to RX entity in gates input fromTxEntity[]; // Dynamic: receives from TX entity out gates output macToTxEntity[]; // Dynamic: dispatches MAC SDU requests to TX entity macIn gates }File: src/simu5g/stack/rlc/IRlcMux.ned