Package: simu5g.stack.rlc.um
NrRlcUmTxEntity
simple moduleNR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D mode-switch machinery) with the LTE profile LteRlcUmTxEntity. Bound by default inside the NrRlcUmEntity compound. The NR SO-segmentation statistics are declared here so they are recorded only for NR entities.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description |
|---|---|---|
| NrRlcUmTxEntityD2D | simple module |
D2D-capable NR (TS 38.322) RLC UM transmitting entity: NrRlcUmTxEntity plus the same D2D mode-switch machinery as LteRlcUmTxEntityD2D, over the SO segmentation buffer. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| macModule | string | "^.^.mac" |
Set by the enclosing RlcUmEntityBase compound (per leg) |
| sn_FieldLength | int | 12 |
UM SN field length in bits: 6 or 12 |
Properties
| Name | Value | Description |
|---|---|---|
| dynamic | true | |
| display | i=block/layer |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| in | input |
SDUs from the PDCP layer (direct per-DRB connection, not via a mux) |
|
| macIn | input |
MAC SDU requests, via the RlcMux |
|
| out | output |
PDUs and new-data notifications to MAC, via the RlcMux |
Signals
| Name | Type | Unit | Description |
|---|---|---|---|
| wastedGrantedBytes | |||
| requestedPduSize | |||
| sentPduSize | |||
| receivedPacketFromUpperLayer | |||
| sentPacketToLowerLayer |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode | Description |
|---|---|---|---|---|---|---|
| wastedGrantedBytes | Wasted granted bytes | wastedGrantedBytes | sum | B | ||
| requestedPduSize | Requested PDU size | requestedPduSize | vector | B | ||
| sentPduSize | Sent PDU size | sentPduSize | vector | B | ||
| receivedPacketFromUpperLayer | receivedPacketFromUpperLayer | count, sum(packetBytes) | none | |||
| sentPacketToLowerLayer | sentPacketToLowerLayer | count, sum(packetBytes) | none |
Source code
// // NR (TS 38.322) transmission side of the Unacknowledged Mode (UM) of the RLC // layer: SI + byte-offset (SO) segmentation, one SDU segment per PDU, one sequence // number per SDU. Shares the common RlcUmTxEntityBase shell (MAC plumbing, D2D // mode-switch machinery) with the LTE profile ~LteRlcUmTxEntity. Bound by // default inside the ~NrRlcUmEntity compound. The NR SO-segmentation statistics // are declared here so they are recorded only for NR entities. // simple NrRlcUmTxEntity like simu5g.stack.rlc.IRlcTxEntity { parameters: @dynamic(true); @display("i=block/layer"); string macModule = default("^.^.mac"); // Set by the enclosing RlcUmEntityBase compound (per leg) int sn_FieldLength = default(12); // UM SN field length in bits: 6 or 12 @signal[wastedGrantedBytes]; @statistic[wastedGrantedBytes](title="Wasted granted bytes"; unit="B"; source="wastedGrantedBytes"; record=sum); @signal[requestedPduSize]; @statistic[requestedPduSize](title="Requested PDU size"; unit="B"; source="requestedPduSize"; record=vector); @signal[sentPduSize]; @statistic[sentPduSize](title="Sent PDU size"; unit="B"; source="sentPduSize"; record=vector); @signal[receivedPacketFromUpperLayer]; @statistic[receivedPacketFromUpperLayer](source="receivedPacketFromUpperLayer"; record=count,"sum(packetBytes)"; interpolationmode=none); @signal[sentPacketToLowerLayer]; @statistic[sentPacketToLowerLayer](source="sentPacketToLowerLayer"; record=count,"sum(packetBytes)"; interpolationmode=none); gates: input in; // SDUs from the PDCP layer (direct per-DRB connection, not via a mux) input macIn; // MAC SDU requests, via the RlcMux output out; // PDUs and new-data notifications to MAC, via the RlcMux }File: src/simu5g/stack/rlc/um/NrRlcUmTxEntity.ned