BearerManagement.ned
NED File src/simu5g/stack/rrc/BearerManagement.ned
| Name | Type | Description |
|---|---|---|
| BearerManagement | simple module |
RRC Bearer Management — creates and tears down PDCP, RLC and MAC entities for data radio bearers. |
Source code
// // Simu5G // // Authors: Andras Varga (OpenSim Ltd) // // This file is part of a software released under the license included in file // "license.pdf". Please read LICENSE and README files before using it. // The above files and the present reference are part of the software itself, // and cannot be removed from it. // package simu5g.stack.rrc; // // 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 }