Commit Graph
100 Commits
Author SHA1 Message Date
Angelo Athanassopoulos 7a2790ba68 NR SDAP - Bugfix for entity deletion
This commit fixes the implementation for removing either a single SDAP entity or all the SDAP entities of a UE.
2023-07-05 23:31:34 +02:00
Angelo Athanassopoulos c526ceff5a NR RRC - RRC Reestablishment - Enhancements
1. Avoid using fill_masterCellGroup() function, during reestablishment.
2. Send the existing CellGroupConfig, instead of calling fill_masterCellGroup().
2023-05-10 16:47:43 +02:00
Angelo Athanassopoulos f4845eb5a0 ASN1 - MCG Config
Fill the right DRBs for Master Cell Group Config and drop the bearer_id_start, nb_bearers_to_setup
2023-05-10 16:30:59 +02:00
Angelo Athanassopoulos 1679cf38ba NR RRC - RRCReestablishment - Reviewer comments
Changes
1. Passing function argument  by reference.
2. Use a pointer for ue->established_drbs[drb_id - 1] in generateDRB.
2023-04-05 22:40:55 +02:00
Angelo Athanassopoulos 5b35523c2c NR RRC - RRCReestablishment - Apply clang format 2023-04-05 11:22:59 +02:00
Angelo Athanassopoulos f4dc362247 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Fixed a bug where the integrity protection was included in the ASN1 and caused significant throughput bottleneck.
2023-04-04 14:05:06 +02:00
Angelo Athanassopoulos 778c88d8a9 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Cosmetic changes, also changed the LOG message for updating the UEid, and moved the drb_id_to_setup_start and nb_drb_to_setup right before the function that they are used
2023-04-04 14:05:06 +02:00
Angelo Athanassopoulos ad598a2d5d NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Removed the unused variables, and changed the tenary operator conditions of drb_id_to_setup_start & nb_drb_to_setup, to the correct ones
2023-04-04 14:05:05 +02:00
Angelo Athanassopoulos ca010654bf NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Changed the SRB2 and DRB at the do_RRCReconfiguration arguments, to pass the correct structures that are generated
2023-04-04 14:05:05 +02:00
Angelo Athanassopoulos 1923bed4a3 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Simplify RRCReestablishmentComplete procedure with respective function,
removed the block that creates the SRB2  and created a function, with doxygen
2023-04-04 14:05:05 +02:00
Angelo Athanassopoulos 9142357069 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Simplify RRCReestablishmentComplete procedure with respective function,
removed the block that creates the ASN1 DRBs  and created a function, with doxygen
2023-04-04 14:05:04 +02:00
Angelo Athanassopoulos a3c13fdc71 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Simplify RRCReestablishmentComplete procedure with respective function,
removed the block that updates NGU Tunnels and created a function, with doxygen
2023-04-04 14:05:04 +02:00
Angelo Athanassopoulos bf844247bf NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Simplify RRCReestablishmentComplete procedure with respective function,
removed the block that updates NAS PDUSession and created a function, with doxygen
2023-04-04 14:05:04 +02:00
Angelo Athanassopoulos 7eb2e99dcd NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Simplify RRCReestablishmentComplete procedure with respective function,
removed the block that frees all the NAS PDUs and created a function for this.
2023-04-04 14:05:03 +02:00
Angelo Athanassopoulos 26909e7c32 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Cosmetic changes, added doxygen configuration, and changed the rrc_gNB_process_RRCReestablishmentComplete function arguments' alignment, so in the future if an argument is removed or added to be better visible in the commits
2023-04-04 14:05:03 +02:00
Angelo Athanassopoulos 33c09b7776 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
The generateDRB function now creates a DRB and puts it in the struct member of gNB_RRC_UE_t, from this struct we can generate ASN1 messages by calling the generateDRB_ASN1
2023-04-04 00:44:43 +02:00
Angelo Athanassopoulos af8b3b0486 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Added function to create ASN1 DRB-ToAddMod structs from, gNB_RRC_UE_t established_drbs
2023-04-04 00:44:38 +02:00
Angelo Athanassopoulos 5403198996 NR RRC - RRCReestablishment - Fix MultiplePDU Regression
Added struct member to gNB_RRC_UE_t to store the established DRBs for a UE, this can be used to generate ASN1 structs, during RRCReconfiguration
2023-04-04 00:18:44 +02:00
Angelo Athanassopoulos 07abf4329d PSEA - IEI DNN - This is the last IEI in the message.
Before this commit each time the message was captured, it entered the
default switch statement, which is meant to show that  we received an
uknown IEI.

Now after the DNN IEI, we set offset=msg_length, to exit the
switch.
2022-10-28 13:54:13 +02:00
Angelo Athanassopoulos 43f3d03ddb PSEA - IEI DNN - protect code from a bad DNN length received from the network 2022-10-28 13:24:25 +02:00
Angelo Athanassopoulos 8e4ebb078a PSEA - IEI DNN - added macro for min DNN length 2022-10-28 12:55:58 +02:00
Angelo Athanassopoulos d91cfdc6cf PSEA - Remove of unused ASCII macro definition 2022-10-27 20:05:16 +02:00
Angelo Athanassopoulos dbd00175a7 PSEA - SABOX fix - Avoid the infinite loop, when not receiving an APN Operator Identifier 2022-10-27 20:01:08 +02:00
Angelo Athanassopoulos bef72dd747 PSEA - SABOX fix - changed the max accumulated apn length 2022-10-27 18:53:01 +02:00
Angelo Athanassopoulos 3f1d515aaf PSEA - Slight cosmetic changes 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 24241e1b97 PSEA - Log - Change the debug to trace 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 99c77d6fc0 Use the new function to capture PSEA message 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos c31b0f8fa0 Use values from PSEA message to set QFI and PDU Session ID from CN 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 5594594c97 PSEA - Handle uknown IE, ommits the rest message length 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 5ebfed3f90 PSEA - Capture - DNN IE 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 844fec61a8 PSEA - Capture - Position of Extended protocol configuration
options (Ommited)
2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos 80542f0503 PSEA - Capture - Position of Authorized QoS flow descriptions (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos f001961e4e PSEA - Capture - Position of EAP message (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos ca903df0a8 PSEA - Capture - Position of Mapped EPS bearer contexts (Ommited) 2022-10-10 20:51:54 +02:00
Angelo Athanassopoulos ff05fed29c PSEA - Capture - Position of Always-on PDU Session Indication (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 1b89529719 PSEA - Capture - Position of S-NSSAI (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 7707669f97 PSEA - Capture - Position of RQ Timer Value (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos d355b1a7f2 PSEA - Capture - PDU Address IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 3fee83e05b PSEA - Capture - Position of 5GSM Cause (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 21c4415a37 PSEA - Prepare the Optional Presence IE capture 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos d9958e4e0f PSEA - Capture - Session AMBR (Ommited) 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 352362ac97 PSEA - Capture - Authorized QoS Rules, but Ommit the Packet Filters 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos fbe010420c PSEA - Capture - PduSessionEstablishmentAccept message 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 7a5e383993 PSEA - Capture - Security Protected NAS header & message 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 0f1d68e2e3 PSEA - Include necessary NAS header files 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 4148e5aae6 PSEA - Init capture function 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos e638715dcc PSEA - Include the PSEA header file to NAS 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 9682ba9bf6 PSEA - Message struct definition 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 724164c395 PSEA - Optional Presence IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos b3abb8f64f PSEA - Mandatory Presence IE 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos ff059d7607 PSEA - Macro for DNN ASCII 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 92e01d8346 PSEA - Macros for Rule Operation Codes 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 34e50a2fdf PSEA - Macros for PDU Session type values 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos e057c85e60 PSEA - Macros for Optional IE Identifiers 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos e50ce393c3 PSEA - Initialization of PduSessionEstablishmentAccept message capture 2022-10-10 20:51:53 +02:00
Angelo Athanassopoulos 4ba950872b DOC - Added instructions for testing SDAP & Multiple DRBs 2022-10-04 13:03:51 +02:00
Angelo Athanassopoulos 68615bc52a Rename of files, because they contain both data radio bearers & signalling radio bearers 2022-10-04 12:34:41 +02:00
Angelo Athanassopoulos c08540d8de NR RRC - Added function to generate SRB2 Conf list 2022-10-04 12:00:38 +02:00
Angelo Athanassopoulos 248da7ab3e NR RRC - Use the SRB2 generation function for dedicated RRC Configuration 2022-10-04 10:53:02 +02:00
Angelo Athanassopoulos 2944768618 NR RRC - Initialized function for SRB2 generation 2022-09-30 12:59:19 +02:00
Angelo Athanassopoulos be47347934 NR RRC - Included SRB header file to the c file, which will generate SRB 2022-09-30 12:43:41 +02:00
Angelo Athanassopoulos 23c3c5bf0c NR RLC & RRC - Changed magic numbers with proper Macro 2022-09-30 10:25:37 +02:00
Angelo Athanassopoulos fdd68d2809 NR RRC - Handle all the ngap priority levels from CN 2022-09-29 18:02:11 +02:00
Angelo Athanassopoulos c0f2ae9c5d NR RRC - Filled all the ngap priority levels from CN 2022-09-29 17:59:29 +02:00
Angelo Athanassopoulos 1893d640fd NR RLC - Removed DRB ID limitations 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 6b465c71d0 NR PDCP - Removed DRB ID limitations 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 91143db61e NR RRC - Accept the creation of DRBs from configuration file "
When we add DRBs throught the configuration file, it will create dedicated DRBs, treating them as GBR Flow DRBs. This is useful for testing purposes in RFSIM and noS1
2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos a544ea1d4b NR RRC - Optimize the next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 7adc4d5fd4 NR RRC - Fix wrong index in used_drbs array 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos d8a795dbd5 NR RRC - Remove of unnecessary MACRO 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos c197b81f50 NR RRC - Choose the next available DRB from the 5QI
If it is a GBR flow, assign a dedicated DRB
If is is a NGBR flow, use an existing DRB, from the same PDU Session

Note: the case that we run out of DRBs is not handled yet, it is still a todo
2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 984bf76544 NR RRC - Consider GBR or Non-GBR flow for selecting the next available DRB "
Note: at this point we have a dedicated DRB per 5QI.
2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos ec657819e2 NR RRC - Added GBR argument to function, so it can be considered for selecting next available drb 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 63743349d9 NR RRC - Changed the 5QI to QoS characteristics into groups of GBR and Non-GBR 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 9286f0cd90 NR RRC - Removal of the active drb assignment in next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 999284b2b6 NR RRC - Set DRB of PDUSession to active in RRC_UE_t during drb generation 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos ad9c2c809a NR RRC - Set DRB of UE to active in RRC_UE_t during drb generation 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 9c94001fc8 NR RRC - Match the ARP priority to the Logical Channel Priority 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos bc0b6c2da9 NR RRC - Capture the priority level of the PDU Session 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 06ab3b97c5 NR RRC - Changed drb_priority array size to 32 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 7169e0a342 NR RRC - Moved generateDRB in the loop of 5QIs 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 28b1e9d3c9 NR RRC - Created function to check if DRB is active for a UE 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 0fd71f0973 NR RRC - Moved next_available_drb function outside generateDRB 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 240d45b731 NR RRC - Added break statements to fiveQI switch 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos a53ebcd7b9 NR RRC - Rename gNB_RRC_UE_t pointer of next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos de827a8bdf NR RRC - Remove unnecessary structs 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 1d7a1f69ed NR RRC - Remove unnecessary function nr_ue_get 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 0d89f13a7d NR RRC - Remove unnecessary function nr_ue_new 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos ed058bf477 NR RRC - Remove unused variable rnti from generateDRB function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 2f33f547ca NR RRC - Remove unused variable rnti from next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 123f2eaf84 NR RRC - Use the gNB_RRC_UE_t struct for the next_available_drb procedures 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos ae9764f914 NR RRC - Changed for max DRBs per UE in next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 29e17e3cfc NR RRC - Added member used_drbs to pdusession_t struct 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos ffc65545f5 NR RRC - Changed macros for active and inactive drbs 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 68fe0ad4f2 NR RRC - Pass gNB_RRC_UE_t struct to next_available_drb function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 66a299d902 NR RRC - Pass gNB_RRC_UE_t struct to generateDRB function 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos c1d5bb8efc NR RRC - Added gNB_RRC_UE_t struct to dedicatedRRCReconfiguration funtion 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 5ba192ab69 NR RRC - Removed unused function for deleting drbs 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 0dd759e1b0 NR RRC - Use new macros for DRB_active and pduSessions struct members at gNB_RRC_UE_t 2022-09-28 11:16:58 +02:00
Angelo Athanassopoulos 3ebec5c6ed NR RRC - Added macro definitions for max. number of PDU Sessions and DRBs per UE 2022-09-28 11:16:58 +02:00