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