33## v1.6.0 (2026-07-31)
44
55This release adds a standards-compliant NR RLC to Simu5G. RLC Unacknowledged
6- Mode and Acknowledged Mode per TS 38.322 -- contributed by Esteban Egea Lopez
7- -- have been integrated into the mainline and are now the default on NR
8- bearers; the RLC entity modules were restructured into shared bases with LTE
9- and NR concrete implementations; the LTE RLC AM -- which never worked properly
10- -- was reimplemented per TS 36.322 on the same architecture; and radio link
11- failure detection with RRC re-establishment was added.
6+ Mode and Acknowledged Mode per TS 38.322 contributed by Esteban Egea Lopez have
7+ been integrated into the mainline and are now the default on NR bearers. The RLC
8+ entity modules were restructured into shared bases with LTE and NR concrete
9+ implementations. The previously incomplete LTE RLC AM was reimplemented per TS
10+ 36.322 on the same architecture. Radio link failure detection with RRC
11+ re-establishment was added.
1212
1313Tested with INET-4.5.4 and OMNeT++ 6.3, compatible with INET-4.6.0 and OMNeT++
14146.1 through 6.4.
@@ -79,14 +79,13 @@ concrete entities with `tx.typename`/`rx.typename`.
7979
8080### LTE RLC AM reimplemented per TS 36.322
8181
82- Simu5G's original LTE RLC AM was derived from UMTS RLC (TS 25.322) and never
83- worked properly; no simulation configuration selected it. What it implemented
84- was not TS 36.322 in any dimension: the wire format was per-SDU fragmentation
85- with a sequence number per fragment (no concatenation, no FI/LI, no poll bit),
86- retransmission was driven by per-PDU timeouts that resent without any NACK, a
87- PDU exhausting its retransmissions was silently discarded -- data loss on an
88- acknowledged-mode bearer, with no radio link failure -- and status reporting
89- was periodic rather than event-driven.
82+ Simu5G's original LTE RLC AM was derived from UMTS RLC (TS 25.322), it was
83+ incomplete, and no simulation configuration used it. What it implemented was not
84+ TS 36.322 compliant: the wire format was per-SDU fragmentation with a sequence
85+ number per fragment (no concatenation, no FI/LI, no poll bit), retransmission
86+ was driven by per-PDU timeouts that resent without any NACK, a PDU exhausting
87+ its retransmissions was silently discarded with no radio link failure
88+ indication, and status reporting was periodic rather than event-driven.
9089
9190It has been reimplemented from scratch on the architecture of the NR AM
9291entity, whose TS 38.322 ARQ skeleton TS 36.322 shares; only the framing is
@@ -110,26 +109,22 @@ simulation results.
110109
111110### Selecting RLC AM
112111
113- Acknowledged Mode is now usable on both RATs -- previously there was no NR AM
114- implementation at all, and an NR bearer asking for AM got the LTE one, which did
115- not work -- but nothing selects it by default: every bearer stays in the mode it
116- had before, so existing simulations are unaffected. Two mechanisms choose the
117- mode of a bearer, depending on whether SDAP is in the stack.
112+ Acknowledged Mode is now usable on both RATs, but nothing selects it by default:
113+ every bearer stays in the mode it had before, so existing simulations are
114+ unaffected. Two mechanisms choose the mode of a bearer, depending on whether
115+ SDAP is in the stack.
118116
119117Without SDAP, ` Ip2Nic ` classifies each packet into a traffic class by packet name
120118(` VoIP* ` -> conversational, ` gaming* ` -> interactive, ` VoDPacket* ` -> streaming,
121119anything else -> background) and maps the class to an RLC mode with its
122120` conversationalRlc ` , ` streamingRlc ` , ` interactiveRlc ` and ` backgroundRlc `
123121parameters. They accept ` "TM" ` , ` "UM" ` and ` "AM" ` , and all four default to
124- ` "UM" ` -- which is the pre-v1.6.0 behavior, kept for backward compatibility:
122+ ` "UM" ` ( which is the pre-v1.6.0 behavior, kept for backward compatibility).
125123
126- **.cellularNic.ip2nic.conversationalRlc = "AM"
127-
128- With SDAP in the stack (` hasSdap = true ` on the NR NIC, which propagates into
129- ` ip2nic.hasSdap ` ), ` Ip2Nic ` skips traffic classification entirely and the mode
130- becomes a property of the DRB: every entry of ` NrSdap.drbConfig ` takes an
131- optional ` rlcType ` field, again one of ` "AM" ` , ` "UM" ` and ` "TM" ` , and again
132- defaulting to ` "UM" ` :
124+ With SDAP in the stack (` hasSdap = true ` on the NR NIC), ` Ip2Nic ` skips traffic
125+ classification entirely and the mode becomes a property of the DRB: every entry
126+ of ` NrSdap.drbConfig ` takes an optional ` rlcType ` field, again one of ` "AM" ` ,
127+ ` "UM" ` and ` "TM" ` , and again defaulting to ` "UM" ` . For example:
133128
134129 *.gnb.cellularNic.hasSdap = true
135130 *.gnb.cellularNic.sdap.drbConfig = [
@@ -138,8 +133,8 @@ defaulting to `"UM"`:
138133
139134Either way, both ends of a bearer must be configured with the same mode: each
140135node builds its own RLC entity from its own configuration, so a mismatch leaves
141- an AM entity facing a UM one. The ` **. ` wildcard above takes care of that for
142- ` Ip2Nic ` ; with SDAP, the UE's ` drbConfig ` entry for a DRB and the gNB's entry
136+ an AM entity facing a UM one. With ` Ip2Nic ` , this can be ensured by using ` **. `
137+ wildcards ; with SDAP, the UE's ` drbConfig ` entry for a DRB and the gNB's entry
143138for the same DRB have to agree on ` rlcType ` .
144139
145140Which entity type then implements the mode follows from the RAT, as described
@@ -179,7 +174,6 @@ entities left behind at the old cell.
179174Defects found in the NR AM implementation found using these scenarios
180175were fixed.
181176
182-
183177### Radio link failure and RRC re-establishment
184178
185179The RLC AM transmitters declare a radio link failure when a PDU exceeds
@@ -313,6 +307,7 @@ bearer individually measurable.
313307 and ` IRlcAmRxEntity.ned ` , one interface per file. The interfaces themselves,
314308 and all type names, are unchanged.
315309
310+
316311## v1.5.2 (2026-07-30)
317312
318313This release corrects the names of the per-bearer PDCP and RLC entity modules
0 commit comments