BearerManagement

Package: simu5g.stack.rrc

BearerManagement

simple module

RRC 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

bearerConfiguratorModule string "bearerConfigurator"

To return a torn-down bearer's DRB identity to its pool

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

PDCP entity parameters

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 bearerConfiguratorModule = default("bearerConfigurator");   // To return a torn-down bearer's DRB identity to its pool

        // 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

        // PDCP entity parameters
        int headerCompressedSize @unit(B) = default(-1B);

        // 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