Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
littleBu
OpenXG-RAN
Commits
12d4c537
Commit
12d4c537
authored
Aug 22, 2023
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
association of SDAP entities with DRB IDs
parent
464a62dd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
4 deletions
+26
-4
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+10
-3
openair2/LAYER2/nr_pdcp/nr_pdcp_ue_manager.h
openair2/LAYER2/nr_pdcp/nr_pdcp_ue_manager.h
+16
-1
No files found.
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
12d4c537
...
@@ -829,15 +829,21 @@ void add_drb_am(int is_gnb, ue_id_t rntiMaybeUEid, struct NR_DRB_ToAddMod *s, in
...
@@ -829,15 +829,21 @@ void add_drb_am(int is_gnb, ue_id_t rntiMaybeUEid, struct NR_DRB_ToAddMod *s, in
bool
has_sdap_tx
=
false
;
bool
has_sdap_tx
=
false
;
bool
is_sdap_DefaultDRB
=
false
;
bool
is_sdap_DefaultDRB
=
false
;
NR_QFI_t
*
mappedQFIs2Add
=
NULL
;
NR_QFI_t
*
mappedQFIs2Add
=
NULL
;
uint8_t
mappedQFIs2AddCount
=
0
;
uint8_t
mappedQFIs2AddCount
=
0
;
if
(
s
->
cnAssociation
->
present
==
NR_DRB_ToAddMod__cnAssociation_PR_eps_BearerIdentity
)
nr_cn_association_t
cn_association
;
pdusession_id
=
s
->
cnAssociation
->
choice
.
eps_BearerIdentity
;
if
(
s
->
cnAssociation
->
present
==
NR_DRB_ToAddMod__cnAssociation_PR_eps_BearerIdentity
)
{
pdusession_id
=
s
->
cnAssociation
->
choice
.
eps_BearerIdentity
;
cn_association
.
type
=
EPS_BEARER
;
cn_association
.
choice
.
eps_id
=
pdusession_id
;
}
else
{
else
{
if
(
!
s
->
cnAssociation
->
choice
.
sdap_Config
)
{
if
(
!
s
->
cnAssociation
->
choice
.
sdap_Config
)
{
LOG_E
(
PDCP
,
"%s:%d:%s: fatal, sdap_Config is null"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
LOG_E
(
PDCP
,
"%s:%d:%s: fatal, sdap_Config is null"
,
__FILE__
,
__LINE__
,
__FUNCTION__
);
exit
(
-
1
);
exit
(
-
1
);
}
}
pdusession_id
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
pdu_Session
;
pdusession_id
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
pdu_Session
;
cn_association
.
type
=
NR_SDAP
;
cn_association
.
choice
.
pdusession_id
=
pdusession_id
;
if
(
is_gnb
)
{
if
(
is_gnb
)
{
has_sdap_rx
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
sdap_HeaderUL
==
NR_SDAP_Config__sdap_HeaderUL_present
;
has_sdap_rx
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
sdap_HeaderUL
==
NR_SDAP_Config__sdap_HeaderUL_present
;
has_sdap_tx
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
sdap_HeaderDL
==
NR_SDAP_Config__sdap_HeaderDL_present
;
has_sdap_tx
=
s
->
cnAssociation
->
choice
.
sdap_Config
->
sdap_HeaderDL
==
NR_SDAP_Config__sdap_HeaderDL_present
;
...
@@ -877,6 +883,7 @@ void add_drb_am(int is_gnb, ue_id_t rntiMaybeUEid, struct NR_DRB_ToAddMod *s, in
...
@@ -877,6 +883,7 @@ void add_drb_am(int is_gnb, ue_id_t rntiMaybeUEid, struct NR_DRB_ToAddMod *s, in
LOG_D
(
PDCP
,
"%s:%d:%s: added drb %d to UE ID/RNTI %ld
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
drb_id
,
rntiMaybeUEid
);
LOG_D
(
PDCP
,
"%s:%d:%s: added drb %d to UE ID/RNTI %ld
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
drb_id
,
rntiMaybeUEid
);
ue
->
drb2cn
[
drb_id
-
1
]
=
cn_association
;
new_nr_sdap_entity
(
is_gnb
,
has_sdap_rx
,
has_sdap_tx
,
rntiMaybeUEid
,
pdusession_id
,
is_sdap_DefaultDRB
,
drb_id
,
mappedQFIs2Add
,
mappedQFIs2AddCount
);
new_nr_sdap_entity
(
is_gnb
,
has_sdap_rx
,
has_sdap_tx
,
rntiMaybeUEid
,
pdusession_id
,
is_sdap_DefaultDRB
,
drb_id
,
mappedQFIs2Add
,
mappedQFIs2AddCount
);
}
}
nr_pdcp_manager_unlock
(
nr_pdcp_ue_manager
);
nr_pdcp_manager_unlock
(
nr_pdcp_ue_manager
);
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_ue_manager.h
View file @
12d4c537
...
@@ -28,10 +28,25 @@
...
@@ -28,10 +28,25 @@
typedef
void
nr_pdcp_ue_manager_t
;
typedef
void
nr_pdcp_ue_manager_t
;
typedef
struct
nr_pdcp_ue_t
{
typedef
enum
{
EPS_BEARER
=
0
,
NR_SDAP
=
1
}
nr_association_type_t
;
typedef
struct
{
nr_association_type_t
type
;
union
{
int
eps_id
;
int
pdusession_id
;
}
choice
;
}
nr_cn_association_t
;
typedef
struct
{
ue_id_t
rntiMaybeUEid
;
ue_id_t
rntiMaybeUEid
;
nr_pdcp_entity_t
*
srb
[
3
];
nr_pdcp_entity_t
*
srb
[
3
];
nr_pdcp_entity_t
*
drb
[
MAX_DRBS_PER_UE
];
nr_pdcp_entity_t
*
drb
[
MAX_DRBS_PER_UE
];
nr_cn_association_t
drb2cn
[
32
];
}
nr_pdcp_ue_t
;
}
nr_pdcp_ue_t
;
/***********************************************************************/
/***********************************************************************/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment