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
Michael Black
OpenXG-RAN
Commits
36000a3e
Commit
36000a3e
authored
Sep 06, 2021
by
Laurent Thomas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add F1-U callbacks implem
parent
e9421938
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
26 deletions
+30
-26
common/utils/assertions.h
common/utils/assertions.h
+1
-7
common/utils/backtrace.c
common/utils/backtrace.c
+1
-6
common/utils/backtrace.h
common/utils/backtrace.h
+0
-3
openair2/F1AP/f1ap_du_ue_context_management.c
openair2/F1AP/f1ap_du_ue_context_management.c
+5
-0
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+23
-10
No files found.
common/utils/assertions.h
View file @
36000a3e
...
...
@@ -26,14 +26,8 @@
#include <stdlib.h>
#include <inttypes.h>
#include <platform_types.h>
#include <common/utils/backtrace.h>
#if defined(ENB_MODE)
# define display_backtrace()
#else
# include "backtrace.h"
#endif
void
output_log_mem
(
void
);
#define _Assert_Exit_ \
fprintf(stderr, "\nExiting execution\n"); \
display_backtrace(); \
...
...
common/utils/backtrace.c
View file @
36000a3e
...
...
@@ -28,7 +28,7 @@
#include <signal.h>
#include <execinfo.h>
#include
"backtrace.h"
#include
<common/utils/backtrace.h>
/* Obtain a backtrace and print it to stdout. */
void
display_backtrace
(
void
)
{
...
...
@@ -49,8 +49,3 @@ void display_backtrace(void) {
free
(
strings
);
}
void
backtrace_handle_signal
(
siginfo_t
*
info
)
{
display_backtrace
();
//exit(EXIT_FAILURE);
}
common/utils/backtrace.h
View file @
36000a3e
...
...
@@ -26,10 +26,7 @@
#ifdef __cplusplus
extern
"C"
{
#endif
void
display_backtrace
(
void
);
void
backtrace_handle_signal
(
siginfo_t
*
info
);
#ifdef __cplusplus
}
#endif
...
...
openair2/F1AP/f1ap_du_ue_context_management.c
View file @
36000a3e
...
...
@@ -52,6 +52,10 @@ boolean_t DURecvCb( protocol_ctxt_t *ctxt_pP,
const
pdcp_transmission_mode_t
modeP
,
const
uint32_t
*
sourceL2Id
,
const
uint32_t
*
destinationL2Id
)
{
// The buffer comes from the stack in gtp-u thread, we have a make a separate buffer to enqueue in a inter-thread message queue
mem_block_t
*
sdu
=
get_free_mem_block
(
sdu_buffer_sizeP
,
__func__
);
memcpy
(
sdu
->
data
,
sdu_buffer_pP
,
sdu_buffer_sizeP
);
du_rlc_data_req
(
ctxt_pP
,
srb_flagP
,
false
,
rb_idP
,
muiP
,
confirmP
,
sdu_buffer_sizeP
,
sdu
);
return
true
;
}
...
...
@@ -64,6 +68,7 @@ int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
F1AP_UEContextSetupRequest_t
*
container
;
int
i
;
DevAssert
(
pdu
);
AssertFatal
(
0
,
""
);
msg_p
=
itti_alloc_new_message
(
TASK_DU_F1
,
0
,
F1AP_UE_CONTEXT_SETUP_REQ
);
f1ap_ue_context_setup_req_t
*
f1ap_ue_context_setup_req
=
&
F1AP_UE_CONTEXT_SETUP_REQ
(
msg_p
);
container
=
&
pdu
->
choice
.
initiatingMessage
->
value
.
choice
.
UEContextSetupRequest
;
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
36000a3e
...
...
@@ -160,8 +160,7 @@ static void enqueue_rlc_data_req(const protocol_ctxt_t *const ctxt_pP,
const
mui_t
muiP
,
confirm_t
confirmP
,
sdu_size_t
sdu_sizeP
,
mem_block_t
*
sdu_pP
,
void
*
_unused1
,
void
*
_unused2
)
mem_block_t
*
sdu_pP
)
{
int
i
;
int
logged
=
0
;
...
...
@@ -206,9 +205,7 @@ void du_rlc_data_req(const protocol_ctxt_t *const ctxt_pP,
rb_idP
,
muiP
,
confirmP
,
sdu_sizeP
,
sdu_pP
,
NULL
,
NULL
);
sdu_pP
);
}
/****************************************************************************/
...
...
@@ -529,7 +526,7 @@ rb_found:
LOG_D
(
PDCP
,
"%s(): (srb %d) calling rlc_data_req size %d
\n
"
,
__func__
,
rb_id
,
size
);
//for (i = 0; i < size; i++) printf(" %2.2x", (unsigned char)memblock->data[i]);
//printf("\n");
enqueue_rlc_data_req
(
&
ctxt
,
0
,
MBMS_FLAG_NO
,
rb_id
,
sdu_id
,
0
,
size
,
memblock
,
NULL
,
NULL
);
enqueue_rlc_data_req
(
&
ctxt
,
0
,
MBMS_FLAG_NO
,
rb_id
,
sdu_id
,
0
,
size
,
memblock
);
}
static
void
deliver_sdu_srb
(
void
*
_ue
,
nr_pdcp_entity_t
*
entity
,
...
...
@@ -613,7 +610,7 @@ srb_found:
memblock
=
get_free_mem_block
(
size
,
__FUNCTION__
);
memcpy
(
memblock
->
data
,
buf
,
size
);
enqueue_rlc_data_req
(
&
ctxt
,
1
,
MBMS_FLAG_NO
,
srb_id
,
sdu_id
,
0
,
size
,
memblock
,
NULL
,
NULL
);
enqueue_rlc_data_req
(
&
ctxt
,
1
,
MBMS_FLAG_NO
,
srb_id
,
sdu_id
,
0
,
size
,
memblock
);
}
else
{
MessageDef
*
message_p
=
itti_alloc_new_message
(
TASK_RRC_GNB
,
0
,
F1AP_DL_RRC_MESSAGE
);
...
...
@@ -1225,9 +1222,25 @@ boolean_t cu_f1u_data_req(
,
const
uint32_t
*
const
sourceL2Id
,
const
uint32_t
*
const
destinationL2Id
#endif
)
{
LOG_E
(
PDCP
,
"Implementation is pending"
);
)
{
MessageDef
*
message_p
=
itti_alloc_new_message_sized
(
TASK_PDCP_ENB
,
0
,
GTPV1U_GNB_TUNNEL_DATA_REQ
,
sizeof
(
gtpv1u_gnb_tunnel_data_req_t
)
+
sdu_buffer_size
+
GTPU_HEADER_OVERHEAD_MAX
);
AssertFatal
(
message_p
!=
NULL
,
"OUT OF MEMORY"
);
gtpv1u_gnb_tunnel_data_req_t
*
req
=&
GTPV1U_GNB_TUNNEL_DATA_REQ
(
message_p
);
uint8_t
*
gtpu_buffer_p
=
(
uint8_t
*
)(
req
+
1
);
memcpy
(
gtpu_buffer_p
+
GTPU_HEADER_OVERHEAD_MAX
,
sdu_buffer
,
sdu_buffer_size
);
req
->
buffer
=
gtpu_buffer_p
;
req
->
length
=
sdu_buffer_size
;
req
->
offset
=
GTPU_HEADER_OVERHEAD_MAX
;
req
->
rnti
=
ctxt_pP
->
rnti
;
req
->
pdusession_id
=
rb_id
;
LOG_D
(
PDCP
,
"%s() (drb %ld) sending message to gtp size %d
\n
"
,
__func__
,
rb_id
,
sdu_buffer_size
);
itti_send_msg_to_task
(
TASK_VARIABLE
,
INSTANCE_DEFAULT
,
message_p
);
return
true
;
}
...
...
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