Skip to content

Commit 27771e3

Browse files
committed
WHATSNEW: document how to select RLC AM; cover the last three commits
Adds a "Selecting RLC AM" section: now that AM actually works on both RATs, say how to turn it on. Without SDAP it is Ip2Nic's per-traffic-class conversationalRlc/streamingRlc/interactiveRlc/backgroundRlc parameters (all still defaulting to "UM", so nothing changes for existing simulations); with SDAP it is the per-DRB rlcType field of NrSdap.drbConfig. Both ends of a bearer must be configured alike -- each node builds its entity from its own configuration, and nothing cross-checks the mode. Also documents the three doc/cosmetics commits since the last WHATSNEW update (entity doc comments retargeted at the compounds, file headers, @Class removal, IRlcAmEntities.ned split), corrects a stale "rlc*" to "lteRlc*", and dates the release 2026-07-31.
1 parent 1800b5e commit 27771e3

1 file changed

Lines changed: 56 additions & 4 deletions

File tree

WHATSNEW.md

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# What's New in Simu5G
22

3-
## v1.6.0 (2026-07-28)
3+
## v1.6.0 (2026-07-31)
44

55
This release adds a standards-compliant NR RLC to Simu5G. RLC Unacknowledged
66
Mode and Acknowledged Mode per TS 38.322 -- contributed by Esteban Egea Lopez
@@ -36,7 +36,7 @@ it as well. This release adds a faithful NR RLC:
3636
`nrRlcUmEntityModuleType` and `nrRlcAmEntityModuleType` parameters (default:
3737
the new `NrRlcUmEntity`/`NrRlcAmEntity` compound modules), and selects them
3838
for every bearer that has an NR node at either end; LTE bearers keep the
39-
`rlc*` compounds. RLC framing is a function of the RAT rather than a free
39+
`lteRlc*` ones. RLC framing is a function of the RAT rather than a free
4040
choice, so there is no LTE/NR mix; TM, being transparent, is identical for
4141
both RATs and has no NR variant.
4242

@@ -105,11 +105,48 @@ LTE-specific:
105105
`maxRtxThreshold` retransmissions, wired to the same
106106
`BearerManagement` teardown and RRC re-establishment as the NR AM.
107107

108-
RLC AM is selected per traffic class with the `conversationalRlc`,
109-
`streamingRlc`, `interactiveRlc` and `backgroundRlc` parameters of `Ip2Nic`.
110108
Since no configuration could use the old LTE AM, this does not affect existing
111109
simulation results.
112110

111+
### Selecting RLC AM
112+
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.
118+
119+
Without SDAP, `Ip2Nic` classifies each packet into a traffic class by packet name
120+
(`VoIP*` -> conversational, `gaming*` -> interactive, `VoDPacket*` -> streaming,
121+
anything else -> background) and maps the class to an RLC mode with its
122+
`conversationalRlc`, `streamingRlc`, `interactiveRlc` and `backgroundRlc`
123+
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:
125+
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"`:
133+
134+
*.gnb.cellularNic.hasSdap = true
135+
*.gnb.cellularNic.sdap.drbConfig = [
136+
{"drb": 0, "ue": 2049, "qfiList": [1, 2], "rlcType": "UM"},
137+
{"drb": 1, "ue": 2049, "qfiList": [3, 4], "rlcType": "AM"}]
138+
139+
Either way, both ends of a bearer must be configured with the same mode: each
140+
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
143+
for the same DRB have to agree on `rlcType`.
144+
145+
Which entity type then implements the mode follows from the RAT, as described
146+
above: an AM bearer with an NR node at either end runs the `NrRlcAmEntity`
147+
compound, an LTE one `LteRlcAmEntity`. TM is available on both, and is the same
148+
entity for both.
149+
113150
### RLC validation scenarios
114151

115152
The new `simulations/nr/rlc` and `simulations/lte/rlc` directories hold
@@ -261,6 +298,21 @@ bearer individually measurable.
261298
`lte/test_handover` (157 configurations in total), and the rows were
262299
re-recorded for the NR RLC default and the statistics changes.
263300

301+
- **Documentation**: the RLC entity documentation comments were retargeted at
302+
the compound modules that actually bind them -- several still referred to
303+
per-side `rlcUm{Tx,Rx}EntityModuleType` parameters, which v1.5.1 replaced
304+
with selection on the per-bearer compound -- and the `RlcUmEntityBase` /
305+
`RlcAmEntityBase` comments now name both of their concrete subclasses.
306+
307+
- **Source housekeeping**: file headers were brought in line -- the contributed
308+
NR RLC sources now carry the standard Simu5G header naming their author
309+
instead of an LGPL blurb, files that had no header got one, and new files
310+
that had inherited the header of the file they were derived from now name
311+
their actual author. The redundant `@class` line was dropped from the C++
312+
class comments, and `IRlcAmEntities.ned` was split into `IRlcAmTxEntity.ned`
313+
and `IRlcAmRxEntity.ned`, one interface per file. The interfaces themselves,
314+
and all type names, are unchanged.
315+
264316
## v1.5.2 (2026-07-30)
265317

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

0 commit comments

Comments
 (0)