Commit Graph
6567 Commits
Author SHA1 Message Date
francescomani 466f753eb0 remove mac_LogicalChannelConfig from RLC (handled at MAC) 2023-11-28 10:46:08 +01:00
Robert Schmidt 3e9d310093 Merge remote-tracking branch 'origin/implement_logical_channel_prioritization_ue' into integration_2023_w47 2023-11-24 17:55:45 +01:00
Robert Schmidt ec3de01377 Merge remote-tracking branch 'origin/nr-pdcp-reestablishment-procedure' into integration_2023_w47 2023-11-24 14:12:20 +01:00
Robert Schmidt b704f45daa Merge remote-tracking branch 'origin/NR_UE_MAC_conifg_improvements' into integration_2023_w47 2023-11-24 10:08:40 +01:00
francescomani d241506043 fix for L2 simulator 2023-11-23 12:14:39 +01:00
francescomani 65bcbabdca improve handling of MSG4 feedback in default PUCCH 2023-11-23 10:28:04 +01:00
francescomani c6e5ead2a9 some more RRC cleanup 2023-11-21 11:07:21 +01:00
Cedric Roux 9e46a6a6ae nr pdcp: introduce nr_pdcp_get_rb() and some cleanup
cleanup means:
- typo: susbend -> suspend
- call nr_pdcp_manager_unlock() where needed
- simplify LOG_XX (remove __FILE__, __LINE__, __FUNCTION__)

note:
nr_pdcp_release_srb() and nr_pdcp_release_drb() don't use
nr_pdcp_release_drb() because they modify the arrays, so
it does not make sense to "abstract" the accesses to
->srb and ->drb.
2023-11-20 14:55:34 +01:00
francescomani 273562f345 fix for do-ra and phy-test mode 2023-11-20 14:21:49 +01:00
francescomani 2715c7efdd improve MAC configuration from RRC 2023-11-20 14:21:01 +01:00
francescomani 848f5767d7 unified handling of cellgroup config at MAC 2023-11-20 14:21:01 +01:00
francescomani df917624db function to configure cellgroup at RRC 2023-11-20 14:10:30 +01:00
francescomani 4d8bb4ef25 unify handling of reconfiguration with sync 2023-11-20 12:14:59 +01:00
francescomani 5661b20e9e improving init for dora and phytest 2023-11-20 12:14:59 +01:00
francescomani 8013d5d8cc removing CellGroup dependance from MAC common functions 2023-11-20 11:36:46 +01:00
Cedric Roux 107913d6b2 nr pdcp: rework reestablishment
Security part needs to be checked, may fail to work.
But if it fails, it was probably not working before either.

This commit also contains adding 'static' to nr_pdcp_entity_release()
and nr_pdcp_entity_delete() (it was too complicated to do a separate
commit for this).

We also update stats in free_rx_list() (again, too complicated for
a separate commit).

openair2/RRC/NR/rrc_gNB.c probably needs some more work, it is a
bit ugly to reestablish all the drbs without checking if they
exit. It will generate warnings at runtime. I didn't do it because
I don't know the proper way.
2023-11-19 16:57:03 +01:00
Cedric Roux 7a7d8a1766 nr pdcp: stats: count delivered sdus 2023-11-19 16:49:55 +01:00
Cedric Roux 470af5f497 nr pdcp: bugfix: discard pdu if integrity fails 2023-11-19 16:49:11 +01:00
Cedric Roux f265b04593 nr pdcp: bugfix: use proper size for t_reordering_start 2023-11-19 16:47:58 +01:00
Cedric Roux 7203e5aba8 nr pdcp: minor: set function scope to static 2023-11-19 16:46:08 +01:00
Cedric Roux 07ee33f024 nr pdcp: minor: fix spacing 2023-11-19 16:43:57 +01:00
Sriharsha Korada b0b8c90fd2 clean up 2023-11-16 09:07:05 +01:00
sriharsha f248b2fdff fix: avoid freeing rlc config structure 2023-11-16 09:07:05 +01:00
sriharsha e5ab3e022e Handling of mac-LogicalChannelConfig during reconfiguration 2023-11-16 09:07:05 +01:00
sriharsha 43036eb83d Add implementation of logical channel prioritization at UE
- Reorder the logical channels based on priority
- Handling of configuration and release of logical channel bearer
- Add changes in the implementation of lcp procedure for equal priority logical channels
- Restructure the lcp parameters as a separate structure
- Further code clean up
2023-11-16 09:07:05 +01:00
Robert Schmidt 23597c9193 Merge remote-tracking branch 'origin/f1-multiple-du' into integration_2023_w44 2023-11-13 16:23:58 +01:00
Robert Schmidt b07691643d Merge remote-tracking branch 'origin/f1-bwp-switching' into integration_2023_w44 2023-11-13 15:10:27 +01:00
Robert Schmidt 3bede49b9b Merge remote-tracking branch 'origin/fix-double-use-cudata' into integration_2023_w44 2023-11-10 17:29:40 +01:00
Robert Schmidt 8e4ff595a0 Merge remote-tracking branch 'origin/fix-no-f1uedata-when-in-mac' into integration_2023_w44 2023-11-10 17:29:28 +01:00
Robert Schmidt 58edc4a57b Remove further unnecessary RRC references in gNB MAC scheduler 2023-11-10 16:01:41 +01:00
rmagueta 8551260243 Clean up previous BWP switching implementation that was not F1 compliant 2023-11-10 16:01:33 +01:00
Robert Schmidt ac5c4efd4e Merge remote-tracking branch 'origin/nssai-rlc-mac-if' into integration_2023_w44 2023-11-10 14:39:03 +01:00
Sakthivel Velumani 3a7f17ebb8 Create functions for getting LCID 2023-11-09 09:02:59 -05:00
Robert Schmidt c36eb7c9b4 Hack: Prevent CU-UP UE ID management if integrated CU
This is a workaround for a problem described in #706. In short, we
cannot reuse the cu_add/remove_f1_ue_data() functions if we are in an
integrated CU-UP/CP ("CU"), but then we can also not reliably use
different UE IDs in CU-UP and CU-CP (except if using even more hacks).
2023-11-08 17:34:42 +01:00
Robert Schmidt e5684d217c Assoc ID DU->CU 2023-11-08 10:18:52 +01:00
Robert Schmidt e1e8e10d91 Merge remote-tracking branch 'origin/NR_UE_handling_MCS_for_retransmission_v2' into integration_2023_w44 2023-11-06 07:33:28 +01:00
Robert Schmidt 102cbf0d0c Prevent possible deadlock between scheduler and F1 UE ID 2023-11-04 16:37:59 +01:00
Robert Schmidt 230258370b Free F1 UE data struct only on UE release
Before this commit, as visible in the handler of an F1 UE release, it
can happen that we forward the RRC Release message to a UE and start the
release timer, while also removing the F1 UE data (containing e.g., the
CU UE ID). This can lead to asserts, since there might still be
subsequent traffic for such UE during a short time, while the DU does
not have the secondary UE ID stored anymore.

This commit changes the logic. It introduces function
nr_mac_release_ue() that removes the UE at MAC and RLC, frees the F1 UE
data (if applicable), and sends the complete, after timing expiry. If
the UE is out of sync, this function is used to free the UE immediately.

This fixes #685 and #698.
2023-11-04 16:34:46 +01:00
Sakthivel Velumani f381e93237 Set NSSAI config in MAC
Each active LCID at MAC is configured with NSSAI that is sent from AMF with PDU session setup request
2023-10-31 16:12:10 -04:00
Robert Schmidt 7420de8fc9 Merge remote-tracking branch 'origin/fix-doxygen' into integration_2023_w43 2023-10-30 10:23:45 +01:00
Robert Schmidt 57f0cb134c Merge remote-tracking branch 'origin/fix-cellconfig-segv' into integration_2023_w43 2023-10-30 10:22:23 +01:00
Robert Schmidt a828da1b3f Merge remote-tracking branch 'origin/itti-no-threads' into integration_2023_w43 2023-10-30 10:22:16 +01:00
Robert Schmidt 2f7658d7b1 Merge remote-tracking branch 'origin/e1-multiple-cuup' into integration_2023_w43 2023-10-30 10:21:48 +01:00
Robert Schmidt fa5c4d3a4c Fix SDAP: correct ID, set default
- Set the correct QoS flow ID to associate a correct QoS flow to the
  bearer: the UE would misassociate otherwise
- Set the DRB as the default: the handler applies bool with true==1, so
  use bool value
2023-10-30 08:47:33 +01:00
Laurent THOMAS 75cc625fe9 Use recursive mutex in PDCP to prevent deadlocks 2023-10-27 13:02:31 +02:00
Robert Schmidt dc88ca3b6d Read DMRS_UplinkConfig from BWP info when needed
Before this commit, the DMRS_UplinkConfig was stored in a separate
DMRS-related structure, although it is always referenced in the
PUSCHConfig of the current UL BWP.

Through certain code paths (e.g., retransmission), it could happen that
an old DMRS_UplinkConfig was accessed that was freed (through new
CellGroupConfig).

In this commit, we always look up the DMRS_UplinkConfig in the current
PUSCH config, which should always be up to date.
2023-10-27 10:52:52 +02:00
Robert Schmidt 2e252dd377 Implement E1 bearer release 2023-10-27 09:07:51 +02:00
Robert Schmidt ec60fd8157 E1 bearer modification: harmonize code 2023-10-27 09:07:51 +02:00
Robert Schmidt 380151faa7 E1 Bearer Context Setup Request: harmonize code
- harmonize monolithic and E1AP case
- use ITTI message to send bearer context setup response to RRC
2023-10-27 09:07:51 +02:00
Robert Schmidt 9546166ebc Create files to handle E1AP messages at CU-UP 2023-10-27 09:07:51 +02:00