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
spbro
OpenXG-RAN
Commits
e77a1468
Commit
e77a1468
authored
Mar 12, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
use UE ID instead of RNTI internally in RLC
parent
883724b9
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
126 additions
and
168 deletions
+126
-168
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
+1
-1
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+100
-131
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h
+15
-23
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.c
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.c
+7
-9
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
+3
-4
No files found.
openair2/LAYER2/NR_MAC_gNB/mac_rrc_dl_handler.c
View file @
e77a1468
...
...
@@ -715,7 +715,7 @@ void dl_rrc_message_transfer(const f1ap_dl_rrc_message_t *dl_rrc)
mac_remove_nr_ue
(
mac
,
*
dl_rrc
->
old_gNB_DU_ue_id
);
pthread_mutex_unlock
(
&
mac
->
sched_lock
);
nr_rlc_remove_ue
(
dl_rrc
->
gNB_DU_ue_id
);
nr_rlc_update_
rnti
(
*
dl_rrc
->
old_gNB_DU_ue_id
,
dl_rrc
->
gNB_DU_ue_id
);
nr_rlc_update_
id
(
*
dl_rrc
->
old_gNB_DU_ue_id
,
dl_rrc
->
gNB_DU_ue_id
);
instance_t
f1inst
=
get_f1_gtp_instance
();
if
(
f1inst
>=
0
)
// we actually use F1-U
gtpv1u_update_ue_id
(
f1inst
,
*
dl_rrc
->
old_gNB_DU_ue_id
,
dl_rrc
->
gNB_DU_ue_id
);
...
...
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
View file @
e77a1468
This diff is collapsed.
Click to expand it.
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.h
View file @
e77a1468
...
...
@@ -41,37 +41,29 @@
struct
NR_RLC_Config
;
struct
NR_LogicalChannelConfig
;
void
nr_rlc_add_srb
(
int
rnti
,
int
srb_id
,
const
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
);
void
nr_rlc_add_drb
(
int
rnti
,
int
drb_id
,
const
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
);
void
nr_rlc_add_srb
(
int
ue_id
,
int
srb_id
,
const
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
);
void
nr_rlc_add_drb
(
int
ue_id
,
int
drb_id
,
const
NR_RLC_BearerConfig_t
*
rlc_BearerConfig
);
void
nr_rlc_reestablish_entity
(
int
rnti
,
int
lc_id
);
logical_chan_id_t
nr_rlc_get_lcid_from_rb
(
int
ue_id
,
bool
is_srb
,
int
rb_id
);
void
nr_rlc_remove_ue
(
int
rnti
);
bool
nr_rlc_update_rnti
(
int
from_rnti
,
int
to_rnti
);
void
nr_rlc_reestablish_entity
(
int
ue_id
,
int
lc_id
);
void
nr_rlc_remove_ue
(
int
ue_id
);
bool
nr_rlc_update_id
(
int
from_id
,
int
to_id
);
/* test function for CI to trigger reestablishments */
void
nr_rlc_test_trigger_reestablishment
(
int
rnti
);
void
nr_rlc_test_trigger_reestablishment
(
int
ue_id
);
void
nr_rlc_release_entity
(
int
rnti
,
logical_chan_id_t
channel_id
);
void
nr_rlc_release_entity
(
int
ue_id
,
logical_chan_id_t
channel_id
);
void
nr_rlc_reconfigure_entity
(
int
rnti
,
int
lc_id
,
NR_RLC_Config_t
*
rlc_Config
);
void
nr_rlc_reconfigure_entity
(
int
ue_id
,
int
lc_id
,
NR_RLC_Config_t
*
rlc_Config
);
int
nr_rlc_get_available_tx_space
(
const
rnti_t
rntiP
,
const
logical_chan_id_t
channel_idP
);
int
nr_rlc_get_available_tx_space
(
const
int
ue_id
,
const
logical_chan_id_t
channel_idP
);
void
nr_rlc_activate_avg_time_to_tx
(
const
rnti_t
rnti
,
const
logical_chan_id_t
channel_id
,
const
bool
is_on
);
void
nr_rlc_activate_avg_time_to_tx
(
const
int
ue_id
,
const
logical_chan_id_t
channel_id
,
const
bool
is_on
);
void
nr_rlc_srb_recv_sdu
(
const
int
rnti
,
const
logical_chan_id_t
channel_id
,
unsigned
char
*
buf
,
int
size
);
void
nr_rlc_srb_recv_sdu
(
const
int
ue_id
,
const
logical_chan_id_t
channel_id
,
unsigned
char
*
buf
,
int
size
);
void
nr_rlc_activate_srb0
(
int
rnti
,
void
*
data
,
void
(
*
send_initial_ul_rrc_message
)(
int
rnti
,
const
uint8_t
*
sdu
,
sdu_size_t
sdu_len
,
void
*
data
));
void
nr_rlc_activate_srb0
(
int
ue_id
,
void
*
data
,
void
(
*
send_initial_ul_rrc_message
)(
int
rnti
,
const
uint8_t
*
sdu
,
sdu_size_t
sdu_len
,
void
*
data
));
bool
nr_rlc_get_statistics
(
int
rnti
,
int
srb_flag
,
int
rb_id
,
nr_rlc_statistics_t
*
out
);
bool
nr_rlc_get_statistics
(
int
ue_id
,
int
srb_flag
,
int
rb_id
,
nr_rlc_statistics_t
*
out
);
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.c
View file @
e77a1468
...
...
@@ -75,17 +75,17 @@ void nr_rlc_manager_unlock(nr_rlc_ue_manager_t *_m)
}
/* must be called with lock acquired */
nr_rlc_ue_t
*
nr_rlc_manager_get_ue
(
nr_rlc_ue_manager_t
*
_m
,
int
rnti
)
nr_rlc_ue_t
*
nr_rlc_manager_get_ue
(
nr_rlc_ue_manager_t
*
_m
,
int
ue_id
)
{
/* TODO: optimze */
nr_rlc_ue_manager_internal_t
*
m
=
_m
;
int
i
;
for
(
i
=
0
;
i
<
m
->
ue_count
;
i
++
)
if
(
m
->
ue_list
[
i
]
->
rnti
==
rnti
)
if
(
m
->
ue_list
[
i
]
->
ue_id
==
ue_id
)
return
m
->
ue_list
[
i
];
LOG_D
(
RLC
,
"
%s:%d:%s: new UE with RNTI 0x%x
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
rnti
);
LOG_D
(
RLC
,
"
New UE with ID %d
\n
"
,
ue_id
);
m
->
ue_count
++
;
m
->
ue_list
=
realloc
(
m
->
ue_list
,
sizeof
(
nr_rlc_ue_t
*
)
*
m
->
ue_count
);
...
...
@@ -99,13 +99,13 @@ nr_rlc_ue_t *nr_rlc_manager_get_ue(nr_rlc_ue_manager_t *_m, int rnti)
exit
(
1
);
}
m
->
ue_list
[
m
->
ue_count
-
1
]
->
rnti
=
rnti
;
m
->
ue_list
[
m
->
ue_count
-
1
]
->
ue_id
=
ue_id
;
return
m
->
ue_list
[
m
->
ue_count
-
1
];
}
/* must be called with lock acquired */
void
nr_rlc_manager_remove_ue
(
nr_rlc_ue_manager_t
*
_m
,
int
rnti
)
void
nr_rlc_manager_remove_ue
(
nr_rlc_ue_manager_t
*
_m
,
int
ue_id
)
{
nr_rlc_ue_manager_internal_t
*
m
=
_m
;
nr_rlc_ue_t
*
ue
;
...
...
@@ -113,13 +113,11 @@ void nr_rlc_manager_remove_ue(nr_rlc_ue_manager_t *_m, int rnti)
int
j
;
for
(
i
=
0
;
i
<
m
->
ue_count
;
i
++
)
if
(
m
->
ue_list
[
i
]
->
rnti
==
rnti
)
if
(
m
->
ue_list
[
i
]
->
ue_id
==
ue_id
)
break
;
if
(
i
==
m
->
ue_count
)
{
LOG_W
(
RLC
,
"%s:%d:%s: warning: ue %x not found
\n
"
,
__FILE__
,
__LINE__
,
__FUNCTION__
,
rnti
);
LOG_W
(
RLC
,
"Warning: ue %d not found
\n
"
,
ue_id
);
return
;
}
...
...
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
View file @
e77a1468
...
...
@@ -38,8 +38,7 @@ typedef struct nr_rlc_rb_t {
}
nr_rlc_rb_t
;
typedef
struct
nr_rlc_ue_t
{
int
rnti
;
ue_id_t
ue_id
;
int
ue_id
;
nr_rlc_entity_t
*
srb0
;
nr_rlc_entity_t
*
srb
[
3
];
nr_rlc_entity_t
*
drb
[
MAX_DRBS_PER_UE
];
...
...
@@ -57,8 +56,8 @@ int nr_rlc_manager_get_enb_flag(nr_rlc_ue_manager_t *m);
void
nr_rlc_manager_lock
(
nr_rlc_ue_manager_t
*
m
);
void
nr_rlc_manager_unlock
(
nr_rlc_ue_manager_t
*
m
);
nr_rlc_ue_t
*
nr_rlc_manager_get_ue
(
nr_rlc_ue_manager_t
*
m
,
int
rnti
);
void
nr_rlc_manager_remove_ue
(
nr_rlc_ue_manager_t
*
m
,
int
rnti
);
nr_rlc_ue_t
*
nr_rlc_manager_get_ue
(
nr_rlc_ue_manager_t
*
m
,
int
ue_id
);
void
nr_rlc_manager_remove_ue
(
nr_rlc_ue_manager_t
*
m
,
int
ue_id
);
/***********************************************************************/
/* ue functions */
...
...
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