Skip to content

Commit 266362b

Browse files
committed
wharsnew++
1 parent 27771e3 commit 266362b

1 file changed

Lines changed: 25 additions & 30 deletions

File tree

WHATSNEW.md

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
## v1.6.0 (2026-07-31)
44

55
This 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

1313
Tested with INET-4.5.4 and OMNeT++ 6.3, compatible with INET-4.6.0 and OMNeT++
1414
6.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

9190
It has been reimplemented from scratch on the architecture of the NR AM
9291
entity, 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

119117
Without SDAP, `Ip2Nic` classifies each packet into a traffic class by packet name
120118
(`VoIP*` -> conversational, `gaming*` -> interactive, `VoDPacket*` -> streaming,
121119
anything else -> background) and maps the class to an RLC mode with its
122120
`conversationalRlc`, `streamingRlc`, `interactiveRlc` and `backgroundRlc`
123121
parameters. 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

139134
Either way, both ends of a bearer must be configured with the same mode: each
140135
node 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
143138
for the same DRB have to agree on `rlcType`.
144139

145140
Which entity type then implements the mode follows from the RAT, as described
@@ -179,7 +174,6 @@ entities left behind at the old cell.
179174
Defects found in the NR AM implementation found using these scenarios
180175
were fixed.
181176

182-
183177
### Radio link failure and RRC re-establishment
184178

185179
The 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

318313
This release corrects the names of the per-bearer PDCP and RLC entity modules

0 commit comments

Comments
 (0)