Package: simu5g.stack.rrc
BearerManagement
simple moduleRRC Bearer Management — creates and tears down PDCP, RLC and MAC entities for data radio bearers.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| binderModule | string | "binder" |
To reach a peer's BearerManagement on RLF |
| connectionControlModule | string | "^.connectionControl" |
The node's control-plane entry point (see Rrc), which a torn-down bearer's DRB identity goes back through |
| t311 | double | 0s |
RRC re-establishment after a radio link failure (TS 38.331 5.3.7). On RLF the peer's link is released (Ip2Nic drops its traffic); t311 = cell-(re)selection timer, and when it expires a suitable cell is assumed selected (single-cell), the RRCReestablishmentRequest is sent and t301 (request -> complete) runs; on its expiry the peer is un-released and its bearer re-establishes on demand. t311 = 0s disables re-establishment (release-to-IDLE). PDU-level RRC signaling is abstracted by these timers, as for handover. |
| t301 | double | 0.1s |
RRC re-establishment (request -> complete) timer |
| headerCompressedSize | int | -1B |
Removed, an error if set: header compression is configured per bearer (the rohc field of BearerConfigurator's bearer definitions) |
| pdcpEntityModuleType | string | "simu5g.stack.pdcp.LtePdcpEntity" |
PDCP entity types: the full PDCP entity is a compound (PdcpEntityBase, TX+RX sides plus the leg split/join stage of a multi-leg bearer); the instantiable types are its subclasses (LtePdcpEntity, NrPdcpEntity). At a DC secondary a bearer's PDCP lives at the master, so the secondary installs an PdcpRelayEntity (tunnels PDUs to/from the master) in its place. |
| pdcpRelayEntityModuleType | string | "simu5g.stack.pdcp.PdcpRelayEntity" | |
| dualConnectivityEnabled | bool | false |
Set by the NIC; two-leg (split-capable) bearers |
| rlcTmEntityModuleType | string | "simu5g.stack.rlc.RlcTmEntity" |
RLC entity types (compound modules): lteRlc* = LTE-FI bearers (TS 36.322), nrRlc* = NR bearers (SI/SO wire format, TS 38.322) |
| lteRlcUmEntityModuleType | string | "simu5g.stack.rlc.LteRlcUmEntity" | |
| lteRlcAmEntityModuleType | string | "simu5g.stack.rlc.LteRlcAmEntity" | |
| nrRlcUmEntityModuleType | string | "simu5g.stack.rlc.NrRlcUmEntity" | |
| nrRlcAmEntityModuleType | string | "simu5g.stack.rlc.NrRlcAmEntity" |
An NR-leg bearer uses the nrRlc* compound (NR SI/SO wire format); a config may point these back to the lteRlc* compounds above to keep an NR leg on LTE RLC. TM is transparent and identical for both RATs, so it has no LTE/NR split. |
| registrationModule | string | "^.registration" |
Module references for accessing other stack layers |
| drbTableModule | string | "^.drbTable" | |
| ip2nicModule | string | "^.^.ip2nic" | |
| handoverPacketHolderModule | string | "^.^.handoverPacketHolder" |
Attachment-ledger push target (UE only) |
| pdcpMuxModule | string | "^.^.pdcpMux" | |
| pdcpDcMuxModule | string | "^.^.pdcpDcMux" | |
| d2dModeControllerModule | string | "^.d2dModeController" | |
| rlcMuxModule | string | "^.^.rlcMux" | |
| nrRlcMuxModule | string | "^.^.nrRlcMux" | |
| macModule | string | "^.^.mac" | |
| nrMacModule | string | "^.^.nrMac" | |
| sdapModule | string | "^.^.sdap" |
Configuration push target; unresolvable (no SDAP on the NIC) = no pushes |
| qosFlowClassifierModule | string | "^.^.qosFlowClassifier" |
Uplink QFI rule push target; unresolvable (not a UE stack with SDAP) = no pushes |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/control | |
| class | BearerManagement |
Source code
// // RRC Bearer Management — creates and tears down PDCP, RLC and MAC // entities for data radio bearers. // simple BearerManagement like IBearerManagement { parameters: @display("i=block/control"); @class(BearerManagement); string binderModule = default("binder"); // To reach a peer's BearerManagement on RLF string connectionControlModule = default("^.connectionControl"); // The node's control-plane entry point (see ~Rrc), which a torn-down bearer's DRB identity goes back through // RRC re-establishment after a radio link failure (TS 38.331 5.3.7). On RLF the peer's // link is released (Ip2Nic drops its traffic); t311 = cell-(re)selection timer, and when // it expires a suitable cell is assumed selected (single-cell), the RRCReestablishmentRequest // is sent and t301 (request -> complete) runs; on its expiry the peer is un-released and its // bearer re-establishes on demand. t311 = 0s disables re-establishment (release-to-IDLE). // PDU-level RRC signaling is abstracted by these timers, as for handover. double t311 @unit(s) = default(0s); // RRC re-establishment cell-selection timer (0 => release-to-IDLE) double t301 @unit(s) = default(0.1s); // RRC re-establishment (request -> complete) timer int headerCompressedSize @unit(B) = default(-1B); // Removed, an error if set: header compression is configured per bearer (the rohc field of ~BearerConfigurator's bearer definitions) // PDCP entity types: the full PDCP entity is a compound (PdcpEntityBase, TX+RX sides plus // the leg split/join stage of a multi-leg bearer); the instantiable types are its // subclasses (LtePdcpEntity, NrPdcpEntity). At a DC secondary a bearer's PDCP lives at // the master, so the secondary installs an PdcpRelayEntity (tunnels PDUs to/from the // master) in its place. string pdcpEntityModuleType = default("simu5g.stack.pdcp.LtePdcpEntity"); string pdcpRelayEntityModuleType = default("simu5g.stack.pdcp.PdcpRelayEntity"); bool dualConnectivityEnabled = default(false); // Set by the NIC; two-leg (split-capable) bearers // RLC entity types (compound modules): lteRlc* = LTE-FI bearers (TS 36.322), // nrRlc* = NR bearers (SI/SO wire format, TS 38.322) string rlcTmEntityModuleType = default("simu5g.stack.rlc.RlcTmEntity"); string lteRlcUmEntityModuleType = default("simu5g.stack.rlc.LteRlcUmEntity"); string lteRlcAmEntityModuleType = default("simu5g.stack.rlc.LteRlcAmEntity"); string nrRlcUmEntityModuleType = default("simu5g.stack.rlc.NrRlcUmEntity"); string nrRlcAmEntityModuleType = default("simu5g.stack.rlc.NrRlcAmEntity"); // An NR-leg bearer uses the nrRlc* compound (NR SI/SO wire format); a config may // point these back to the lteRlc* compounds above to keep an NR leg on LTE RLC. // TM is transparent and identical for both RATs, so it has no LTE/NR split. // Module references for accessing other stack layers string registrationModule = default("^.registration"); string drbTableModule = default("^.drbTable"); string ip2nicModule = default("^.^.ip2nic"); string handoverPacketHolderModule = default("^.^.handoverPacketHolder"); // Attachment-ledger push target (UE only) string pdcpMuxModule = default("^.^.pdcpMux"); string pdcpDcMuxModule = default("^.^.pdcpDcMux"); string d2dModeControllerModule = default("^.d2dModeController"); string rlcMuxModule = default("^.^.rlcMux"); string nrRlcMuxModule = default("^.^.nrRlcMux"); string macModule = default("^.^.mac"); string nrMacModule = default("^.^.nrMac"); string sdapModule = default("^.^.sdap"); // Configuration push target; unresolvable (no SDAP on the NIC) = no pushes string qosFlowClassifierModule = default("^.^.qosFlowClassifier"); // Uplink QFI rule push target; unresolvable (not a UE stack with SDAP) = no pushes }File: src/simu5g/stack/rrc/BearerManagement.ned