Use F1 internally: F1 Setup
Description
Use F1 Setup Request/Response internally, and follow F1 spec by creating the CellGroupConfig always at the DU, and sending the UE Capabilities from CU down to DU. This enables to use MIMO, 256 QAM, etc, in F1 (and monolithic, of course).
Changes:
- Use F1 Setup Req/Resp internally even in monolithic
- Move from MAC to RRC:
- ServingCellConfigCommon
- ServingCellConfigDedicated
- MIB
- SIB1
- additional minor stuff
- Fix some memory leaks in RRC; fix memory leaks in MAC
- Simplify CU configuration (no SCC, no DU radio parameters; will stop if present)
Planned work:
-
Correctly initialize SIB1 with the PLMN (OAI UE connects anyway) -
@Cedric.Roux I yet have to apply your suggestion to prevent concurrent initialization of F1 -
handle multiple slices to be transported in F1
Work planned to be done after this MR:
- Remove the "remote address" of the CU
- Handle multiple slices to be transported in F1
- Send NGAP Setup Request only after having received the F1 Setup Request
Merge request reports
Activity
changed milestone to %REVIEW_CAN_START
added 5G-NR label
requested review from @Cedric.Roux
OAI RAN-Container-Parent build (6044): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6044/)
mentioned in merge request !2255 (merged)
OAI RAN-Container-Parent build (6045): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6045/)
changed milestone to %REVIEW_IN_PROGRESS
- Resolved by Cédric Roux
Looks ok to me, there is a lot, so difficult to analyse a lot.
@schmidtr put back milestone to "review can start" when you want me to review again.
[for personal ref since @schmidtr told me it's not finished so i'll have to look again, I stopped at commit 091bd139 which is "fixup" dealing with signature of verify_section_notset]
Edited by Cédric Rouxchanged milestone to %REVIEW_COMPLETED_AND_APPROVED
added 13 commits
- 091bd139...5acd9bde - 3 earlier commits
- 3ca4485f - fixup
- d6a3ddf4 - Wait F1 Setup Response: add mutex
- 4730dc40 - gnb config update: handle to unblock cell
- d4880765 - handle case of no cell in F1 Setup response
- e57cb669 - DCCH free memory
- a3a98c5e - free RRC UE data
- ff8c10d9 - Use mutexes to prevent concurrent initialization of F1
- 43ee97f7 - Clean up CU&DU config files according to F1 Setup changes
- 361e57c6 - Correctly encode (36bit) CellIdentity in SIB1
- 8a4af458 - sctp assoc_id: make it int, project-wide
Toggle commit listOAI RAN-Container-Parent build (6089): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6089/)
marked the checklist item @Cedric.Roux I yet have to apply your suggestion to prevent concurrent initialization of F1 as completed
added 2 commits
- Resolved by Robert Schmidt
@Cedric.Roux I wanted to take out RRC of the DU, but this does not work yet because we use RRC in nr_rlc_oai_api.c. There are two options:
- we leave the RRC in the DU for the moment
- I add a function pointer at MAC for the UL RRC Message Transfer, similar to the Initial UL RRC message transfer that we already have, and also the DL RRC Message Transfer that exists at the DU. I think that would be one additional patch, it might prove useful, but is even more changes.
Furthermore, the other patch in 48e9af68 correctly copies some memory. This is similar to your question !2304 (comment 95084): yes, we leak memory a little bit everywhere, and the solution would be to use, for each F1 message, a copy function and also one "free_f1ap_x()" function for each message type, similar to what Mikel started. I suggest we ignore the leaks for the moment (in monolithic, we should not leak that much), and I come back later.
Finally, I have yet to check if reestablishment work (it does not look like), and need to verify NSA. After that, maybe it is in a shape where we can consider merging...
edit: I also don't forward multiple slices, but I think we should add it here.
Edited by Robert Schmidt
OAI RAN-Container-Parent build (6092): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6092/)
- Resolved by Robert Schmidt
@rmagueta I forgot to tag you. Have a look at this MR, this is using F1 Setup internally. It won't be necessary anymore to have SCC at CU. It does not handle multiple DUs yet, but I will work on this once it is merged; afterwards, you can rebase !2111 (closed) . On that matter, you can already prepare by merging certain things, e.g., what I suggested here, and unless I missed it, they have not been merged yet (e.g., UE measurements, F1 message improvements, ...)
mentioned in merge request !2151 (closed)
mentioned in merge request !2196 (closed)
OAI RAN-Container-Parent build (6133): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6133/)
added 130 commits
-
c3e7ffd2...97b08440 - 59 commits from branch
develop
- 97b08440...faeaccdf - 61 earlier commits
- 89cbe523 - TBD mergo were the last user is removed: Remove unused function
- 514782b2 - TBD Put PLMN/TAC/CellID into SIB1
- 75e55322 - TBD RC_read_F1Setup
- 008d91a3 - TBD Restructure config read: first PLMN info, then SIB1, then F1 Setup request
- c72c9b23 - TBD Correctly encode (36bit) CellIdentity in SIB1
- df166f60 - gnb config update: handle to unblock cell
- 4d94cd4b - TBD squash handle case of no cell in F1 Setup response
- 8b7c2ad8 - DCCH free memory
- bafa5f12 - SCTP assoc_id: Make it sctp_assoc_t, project-wide
- 72bcd8e9 - TBD Check sys_info only if SA
Toggle commit list-
c3e7ffd2...97b08440 - 59 commits from branch
OAI RAN-Container-Parent build (6168): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6168/)
added 101 commits
-
72bcd8e9...79fd37b4 - 38 commits from branch
develop
- 79fd37b4...40fb8b0a - 53 earlier commits
- 77d04e07 - Fix memory leak in nr_rrc_gNB_decode_ccch()
- 67857b41 - Free default MeasConfig
- 8a9d5421 - Fix memory leak in rrc_gNB_decode_dcch()
- df590384 - Free scheduler UE data
- a5d46351 - Free RRC UE data
- da649e9f - DCCH free memory
- 853bc882 - Free DU at CU on lost connection, store assoc ID
- 544485e5 - SCTP assoc_id: Make it sctp_assoc_t, project-wide
- 794fdb23 - Compute SSB ARFCN for reestablishment
- 05681d35 - kssb < 16 or we cannot do reestablishment: add assert in DU
Toggle commit list-
72bcd8e9...79fd37b4 - 38 commits from branch
@Cedric.Roux this is the cleaned up MR. The only thing that I did not fix completely is reestablishment, but the commit to compute the SSB ARFCN is there. So I think you can do the review, there won't be big changes.
OAI RAN-Container-Parent build (6237): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6237/)
added re-trigger label
removed re-trigger label
OAI RAN-Container-Parent build (6238): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6238/)
OAI RAN-Container-Parent build (6240): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6240/)
mentioned in merge request !2337 (merged)
- Resolved by Robert Schmidt
OAI RAN-Container-Parent build (6243): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6243/)
OAI RAN-Container-Parent build (6254): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6254/)
mentioned in merge request !2199 (merged)
added 114 commits
-
91c07ae9...afc75c5d - 51 commits from branch
develop
- afc75c5d...d709c265 - 53 earlier commits
- e064f43a - Fix memory leaks in do_NR_RRCRelease()
- 378b67b1 - Fix memory leaks in do_NR_DLInformationTransfer()
- b5cea8fc - Fix memory leak in nr_rrc_gNB_decode_ccch()
- b9e3eaa4 - Free default MeasConfig
- 2146dbc2 - Fix memory leak in rrc_gNB_decode_dcch()
- fff86e91 - Free scheduler UE data
- f4c19367 - Free RRC UE data
- fd46a184 - DCCH free memory
- 48c4814b - Free DU at CU on lost connection, store assoc ID
- 811fd42b - SCTP assoc_id: Make it sctp_assoc_t, project-wide
Toggle commit list-
91c07ae9...afc75c5d - 51 commits from branch
Ok jetzt ist es fertig @Cedric.Roux I rebased once more and squashed the fix-up commits, otherwise it is the same, please have another look if possible.
OAI RAN-Container-Parent build (6311): failed (https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/6311/)