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
f20125f7
Commit
f20125f7
authored
Sep 16, 2021
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 4GF1 regressions
parent
970acbe9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
13 deletions
+12
-13
openair2/F1AP/f1ap_common.c
openair2/F1AP/f1ap_common.c
+7
-4
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+2
-7
openair2/F1AP/f1ap_du_interface_management.c
openair2/F1AP/f1ap_du_interface_management.c
+3
-2
No files found.
openair2/F1AP/f1ap_common.c
View file @
f20125f7
...
...
@@ -65,10 +65,13 @@ uint8_t F1AP_get_next_transaction_identifier(instance_t enb_mod_idP, instance_t
}
f1ap_cudu_inst_t
*
getCxt
(
F1_t
isCU
,
instance_t
instanceP
)
{
static
pid_t
t
=-
1
;
pid_t
tNew
=
gettid
();
AssertFatal
(
t
==-
1
||
t
==
tNew
,
"This is not thread safe
\n
"
);
t
=
tNew
;
//Fixme: 4G F1 has race condtions, someone may debug it, using this test
/*
static pid_t t=-1;
pid_t tNew=gettid();
AssertFatal ( t==-1 || t==tNew, "This is not thread safe\n");
t=tNew;
*/
AssertFatal
(
instanceP
<
sizeofArray
(
f1_cu_inst
),
""
);
return
isCU
==
CUtype
?
f1_cu_inst
[
instanceP
]
:
f1_du_inst
[
instanceP
];
}
...
...
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
View file @
f20125f7
...
...
@@ -100,16 +100,11 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
ccch_sdu_len
);
}
LOG_I
(
F1AP
,
"%s() RRCContainer (CCCH) size %ld: "
,
__func__
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
LOG_I
(
F1AP
,
"%s() RRCContainer (CCCH) size %ld: "
,
__func__
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
[
i
]);
printf
(
"
\n
"
);
/* DUtoCURRCContainer */
F1AP_FIND_PROTOCOLIE_BY_ID
(
F1AP_InitialULRRCMessageTransferIEs_t
,
ie
,
container
,
F1AP_ProtocolIE_ID_id_DUtoCURRCContainer
,
tru
e
);
F1AP_ProtocolIE_ID_id_DUtoCURRCContainer
,
fals
e
);
if
(
ie
)
{
NR_RRC_MAC_CCCH_DATA_IND
(
message_p
).
du_to_cu_rrc_container
=
malloc
(
sizeof
(
OCTET_STRING_t
));
...
...
openair2/F1AP/f1ap_du_interface_management.c
View file @
f20125f7
...
...
@@ -430,11 +430,12 @@ int DU_handle_F1_SETUP_RESPONSE(instance_t instance,
F1AP_SibtypetobeupdatedListItem_t
*
sib_item
=
gNB_CUSystemInformation
->
sibtypetobeupdatedlist
.
list
.
array
[
si
];
size_t
size
=
sib_item
->
sIBmessage
.
size
;
F1AP_SETUP_RESP
(
msg_p
).
cells_to_activate
[
i
].
SI_container_length
[
si
]
=
size
;
LOG_D
(
F1AP
,
"F1AP: SI_container_length[%d][%
d] %ld bytes
\n
"
,
i
,
(
int
)
sib_item
->
sIBtype
,
size
);
LOG_D
(
F1AP
,
"F1AP: SI_container_length[%d][%
ld] %ld bytes
\n
"
,
i
,
sib_item
->
sIBtype
,
size
);
F1AP_SETUP_RESP
(
msg_p
).
cells_to_activate
[
i
].
SI_container
[
si
]
=
malloc
(
F1AP_SETUP_RESP
(
msg_p
).
cells_to_activate
[
i
].
SI_container_length
[
si
]);
memcpy
((
void
*
)
F1AP_SETUP_RESP
(
msg_p
).
cells_to_activate
[
i
].
SI_container
[
si
],
(
void
*
)
sib_item
->
sIBmessage
.
buf
,
size
);
F1AP_SETUP_RESP
(
msg_p
).
cells_to_activate
[
i
].
SI_type
[
si
]
=
sib_item
->
sIBtype
;
}
break
;
...
...
@@ -863,7 +864,7 @@ int DU_handle_gNB_CU_CONFIGURATION_UPDATE(instance_t instance,
F1AP_SibtypetobeupdatedListItem_t
*
sib_item
=
gNB_CUSystemInformation
->
sibtypetobeupdatedlist
.
list
.
array
[
si
];
size_t
size
=
sib_item
->
sIBmessage
.
size
;
F1AP_GNB_CU_CONFIGURATION_UPDATE
(
msg_p
).
cells_to_activate
[
i
].
SI_container_length
[
si
]
=
size
;
LOG_D
(
F1AP
,
"F1AP: SI_container_length[%d][%
d] %ld bytes
\n
"
,
i
,
(
int
)
sib_item
->
sIBtype
,
size
);
LOG_D
(
F1AP
,
"F1AP: SI_container_length[%d][%
ld] %ld bytes
\n
"
,
i
,
sib_item
->
sIBtype
,
size
);
F1AP_GNB_CU_CONFIGURATION_UPDATE
(
msg_p
).
cells_to_activate
[
i
].
SI_container
[
si
]
=
malloc
(
F1AP_GNB_CU_CONFIGURATION_UPDATE
(
msg_p
).
cells_to_activate
[
i
].
SI_container_length
[
si
]);
memcpy
((
void
*
)
F1AP_GNB_CU_CONFIGURATION_UPDATE
(
msg_p
).
cells_to_activate
[
i
].
SI_container
[
si
],
(
void
*
)
sib_item
->
sIBmessage
.
buf
,
...
...
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