Attention is currently required from: neels, fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/31099 )
Change subject: rlcmac: Initial implementation of UL TBF assignment and scheduler
......................................................................
Patch Set 17:
(8 comments)
Commit Message:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/b8322d4f_be26db3c
PS16, Line 9: er t
> ("step")
Done
Patchset:
PS16:
> in general i wish you wouldn't have a habit of putting comments in the same line as code... […]
I simply removed the T_def line since it's not used yet. I was simply adding the T_def there because it's needed by the fsm change-state functions, and in preparation for follow-up development.
File src/rlcmac/rlcmac.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/74059d44_ec9501ce
PS16, Line 40: { .T=1, .default_val=1, .unit=OSMO_TDEF_S, .desc="foobar", .val=0 },
> is this a regression test? doesn't look like one. so probably: […]
Done
File src/rlcmac/tbf_ul_ass_fsm.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/811e1e9b_f1a39d11
PS16, Line 53: [GPRS_RLCMAC_TBF_UL_ASS_ST_COMPL] = { },
> All of them are unset. […]
Done
File src/rlcmac/tbf_ul_fsm.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/aaa89194_a5704158
PS16, Line 42: [GPRS_RLCMAC_TBF_UL_ST_FLOW] = { },
> (same)
Done
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/313b6743_77cd46e2
PS16, Line 93: }
> drop this func?
Done
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/89b66a40_528ff43b
PS16, Line 147:
> (extra blank line)
Done
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099/comment/0585a2ea_d69bb983
PS16, Line 207:
> This is actually needed otherwise linter fails.
Done
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31099
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I420c57a9d0b63f9c2805a7c2ae8ce85532a48eef
Gerrit-Change-Number: 31099
Gerrit-PatchSet: 17
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 13 Feb 2023 10:04:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: neels, fixeria.
Hello Jenkins Builder, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/31099
to look at the new patch set (#17).
Change subject: rlcmac: Initial implementation of UL TBF assignment and scheduler
......................................................................
rlcmac: Initial implementation of UL TBF assignment and scheduler
This patch is another step towards a working RLC/MAC implementation. It adds:
* An initial data model with MS (gprs_rlcmac_entity) and ul_tbf.
* A UL_TBF state FSM from initial to FLOW status
* A UL_TBF assignemnt FSM, covering both 1phase and 2phase assignments.
* Triggering of UL_TBF allocation and assignment FSM when new LLC data
is pushed from upper layers.
* A scheduler generating some ctrl messages (PktResReq and UlDummyCtrlBlk)
when indicated by the network.
This patch is pushed as a WIP state since it already contains a
considerable amount of code and lots of new files, which can be
used/extended at a later point, making parallel contribution easier.
Related: OS#5500
Change-Id: I420c57a9d0b63f9c2805a7c2ae8ce85532a48eef
---
M include/osmocom/gprs/rlcmac/Makefile.am
M include/osmocom/gprs/rlcmac/rlcmac.h
A include/osmocom/gprs/rlcmac/rlcmac_enc.h
M include/osmocom/gprs/rlcmac/rlcmac_private.h
A include/osmocom/gprs/rlcmac/sched.h
A include/osmocom/gprs/rlcmac/tbf.h
A include/osmocom/gprs/rlcmac/tbf_ul.h
A include/osmocom/gprs/rlcmac/tbf_ul_ass_fsm.h
A include/osmocom/gprs/rlcmac/tbf_ul_fsm.h
A include/osmocom/gprs/rlcmac/types_private.h
M src/rlcmac/Makefile.am
M src/rlcmac/gre.c
M src/rlcmac/misc.c
M src/rlcmac/rlcmac.c
A src/rlcmac/rlcmac_enc.c
M src/rlcmac/rlcmac_prim.c
A src/rlcmac/sched.c
A src/rlcmac/tbf.c
A src/rlcmac/tbf_ul.c
A src/rlcmac/tbf_ul_ass_fsm.c
A src/rlcmac/tbf_ul_fsm.c
M tests/rlcmac/rlcmac_prim_test.c
M tests/rlcmac/rlcmac_prim_test.err
M tests/rlcmac/rlcmac_prim_test.ok
24 files changed, 1,549 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/99/31099/17
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31099
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I420c57a9d0b63f9c2805a7c2ae8ce85532a48eef
Gerrit-Change-Number: 31099
Gerrit-PatchSet: 17
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder, neels, laforge, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/31177
to look at the new patch set (#10).
Change subject: rlcmac: Introduce lower primitive layer API
......................................................................
rlcmac: Introduce lower primitive layer API
This primitive API allows the application to drive the RLCMAC layer
based on a lower L1CTL interface.
* RACH req are requested to the lower layers by the RLCMAC through the
RACH.req primitive.
* Received ImmAss, SI are fed to the RLC/MAC layer through CCCH_DATA.ind
* The RLCMAC registers DL and UL TBFs in the lower part (firwmare,
L1CTL):
** The lower part will trigger PDCH_RTS.ind in every TS in the
"(dl_slotmask|ul_slotmask)" superset, with the received USF. This
allows UL uplink to transmit blocks when requested by USF, or UL/DL TBF
to answer polls from PCU at a specific N+X FN (RRBP). This also allows
the RLCMAC layer to update its GSM clock and trigger internall
timeouts.
** The lower part will trigger PDCH_DATA.ind in every TS in the
dl_slotmask if either a CTRL block is received or a data block
matching the configured dl_tfi is received.
** Upon receival of PDCH_DATA.ind, the RLCMAC layer updates its FN clock
and submits PDCH_DATA.req based on USF.
This commit only adds the primitive set and API to submit/receive them,
but doesn't really implement them yet internally.
Related: OS#5500
Change-Id: I3d97425ec75059ceae983de869419230e8c4df01
---
M include/osmocom/gprs/rlcmac/rlcmac_prim.h
M include/osmocom/gprs/rlcmac/rlcmac_private.h
M src/rlcmac/rlcmac_prim.c
M tests/rlcmac/Makefile.am
A tests/rlcmac/rlcmac_prim_test.c
A tests/rlcmac/rlcmac_prim_test.err
A tests/rlcmac/rlcmac_prim_test.ok
M tests/testsuite.at
8 files changed, 477 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/77/31177/10
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31177
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I3d97425ec75059ceae983de869419230e8c4df01
Gerrit-Change-Number: 31177
Gerrit-PatchSet: 10
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: neels, fixeria.
Hello Jenkins Builder, laforge, fixeria, msuraev,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/31170
to look at the new patch set (#11).
Change subject: rlcmac: Initial ul_tbf data support
......................................................................
rlcmac: Initial ul_tbf data support
This is basically an import of relevant code from osmo-pcu.git
08523c2286dfe27402f8e2eb4b98da5a529c7915 which allows encoding LLC
frames into RLC/MAC uplink data blocks.
A 1-to-1 import was not possible for several reasons:
* osmo-pcu uses C++ in some places
* osmo-pcu implements encoding of DL data blocks, not UL data blocks
* Some osmo-pcu code is still not really polished and stuff is still
mixed (for instance rlc_window(_ul).c/h were split into their own
files here).
Hence this was not a "copy all files and leave as they are" import, but
rather looking at the encode path starting on osmo-pcu.git scheduler and
see which code had to be pulled in to encode the RLC/MAC blocks.
Due to the slightly different requerirements for UL and DL blocks, it is
well possible that further work in needed in order to have the code
produce correct blocks. This is only a first step to pull in all code so
that stuff can be fixed in smallish incremental steps.
Related: OS#5500
Change-Id: I0a01d79d16bbfc63aa88e6bb0f432f3772645730
---
M include/osmocom/gprs/rlcmac/Makefile.am
A include/osmocom/gprs/rlcmac/coding_scheme.h
A include/osmocom/gprs/rlcmac/rlc.h
A include/osmocom/gprs/rlcmac/rlc_window.h
A include/osmocom/gprs/rlcmac/rlc_window_ul.h
M include/osmocom/gprs/rlcmac/rlcmac_enc.h
M include/osmocom/gprs/rlcmac/rlcmac_private.h
M include/osmocom/gprs/rlcmac/tbf.h
M include/osmocom/gprs/rlcmac/tbf_ul.h
M include/osmocom/gprs/rlcmac/tbf_ul_fsm.h
M src/rlcmac/Makefile.am
A src/rlcmac/coding_scheme.c
A src/rlcmac/rlc.c
A src/rlcmac/rlc_window.c
A src/rlcmac/rlc_window_ul.c
M src/rlcmac/rlcmac.c
M src/rlcmac/rlcmac_enc.c
M src/rlcmac/sched.c
M src/rlcmac/tbf_ul.c
M src/rlcmac/tbf_ul_ass_fsm.c
M src/rlcmac/tbf_ul_fsm.c
M tests/rlcmac/rlcmac_prim_test.c
M tests/rlcmac/rlcmac_prim_test.err
M tests/rlcmac/rlcmac_prim_test.ok
24 files changed, 2,596 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/70/31170/11
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31170
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I0a01d79d16bbfc63aa88e6bb0f432f3772645730
Gerrit-Change-Number: 31170
Gerrit-PatchSet: 11
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: msuraev <msuraev(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: neels, msuraev.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/31286 )
Change subject: rlcmac: Introduce DL TBF creation through PCH ImmAss
......................................................................
Patch Set 5:
(3 comments)
File include/osmocom/gprs/rlcmac/tbf_dl.h:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31286/comment/889c0970_09976e8d
PS5, Line 9: //#include <osmocom/gprs/rlcmac/tbf_dl_fsm.h>
> What's the point of commented include? Just drop it if it's unused.
It will be added soon in a follow up commit. Having it here it's just saving me time adding it later everywhere.
I don't see a problem with having this here since anyway this is not fully usable for regular end users yet.
File src/rlcmac/rlcmac.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31286/comment/85f0ecf9_393b37c0
PS5, Line 291: LOGRLCMAC(LOGL_NOTICE, "TODO: handle decoded dl ctrl block!\n");
> hmm, a TODO in the logs? maybe a #warning pragma instead?
no, TODO is fine because we are actively developing this and we want to clearly see if some part of the code is missing at runtime when doing tests.
File src/rlcmac/tbf_dl.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/31286/comment/398ddb6d_9f24f648
PS5, Line 39: // goto err_tbf_destruct;
> i can understand that some code will come in only later, but you do add an awful lot of these tempor […]
All of them comments are related to the dl_tbf_fsm, they relate to the same part of the code. If this really annoys you I can spend time dropping it here and adding it in one of next patches I have to work on. It will simply make me or anyone else taking over this lose time finding out what needs to be added where.
This is all the boilerplate code to alloc+initialize+free the state FSM of a dl_tbf, similar to what we already have partially implemented for ul_tbf.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/31286
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I7f98e3456ef35d80becdad3481afeb771457b0ef
Gerrit-Change-Number: 31286
Gerrit-PatchSet: 5
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: msuraev <msuraev(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: msuraev <msuraev(a)sysmocom.de>
Gerrit-Comment-Date: Mon, 13 Feb 2023 10:00:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: msuraev <msuraev(a)sysmocom.de>
Gerrit-MessageType: comment