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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
df06a1e8
Commit
df06a1e8
authored
Feb 09, 2022
by
Melissa Elkadi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master
parents
9322701c
4c950bb0
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
859 additions
and
793 deletions
+859
-793
nfapi/open-nFAPI/nfapi/src/nfapi.c
nfapi/open-nFAPI/nfapi/src/nfapi.c
+855
-793
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+4
-0
No files found.
nfapi/open-nFAPI/nfapi/src/nfapi.c
View file @
df06a1e8
...
...
@@ -46,11 +46,26 @@
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include <execinfo.h>
#include <nfapi_interface.h>
#include <nfapi.h>
#include <debug.h>
// What to do when an error happens (e.g., a push or pull fails)
static
inline
void
on_error
()
{
// show the call stack
int
fd
=
STDERR_FILENO
;
static
const
char
msg
[]
=
"---stack trace---
\n
"
;
__attribute__
((
unused
))
int
r
=
write
(
fd
,
msg
,
sizeof
(
msg
)
-
1
);
void
*
buffer
[
100
];
int
nptrs
=
backtrace
(
buffer
,
sizeof
(
buffer
)
/
sizeof
(
buffer
[
0
]));
backtrace_symbols_fd
(
buffer
,
nptrs
,
fd
);
//abort();
}
// Fundamental routines
...
...
@@ -63,6 +78,7 @@ uint8_t push8(uint8_t in, uint8_t **out, uint8_t *end) {
return
1
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -76,6 +92,7 @@ uint8_t pushs8(int8_t in, uint8_t **out, uint8_t *end) {
return
1
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -90,6 +107,7 @@ uint8_t push16(uint16_t in, uint8_t **out, uint8_t *end) {
return
2
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -104,6 +122,7 @@ uint8_t pushs16(int16_t in, uint8_t **out, uint8_t *end) {
return
2
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -120,6 +139,7 @@ uint8_t push32(uint32_t in, uint8_t **out, uint8_t *end) {
return
4
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -136,6 +156,7 @@ uint8_t pushs32(int32_t in, uint8_t **out, uint8_t *end) {
return
4
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -149,6 +170,7 @@ uint8_t pull8(uint8_t **in, uint8_t *out, uint8_t *end) {
return
1
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -162,6 +184,7 @@ uint8_t pulls8(uint8_t **in, int8_t *out, uint8_t *end) {
return
1
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -175,6 +198,7 @@ uint8_t pull16(uint8_t **in, uint16_t *out, uint8_t *end) {
return
2
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -188,6 +212,7 @@ uint8_t pulls16(uint8_t **in, int16_t *out, uint8_t *end) {
return
2
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -201,6 +226,7 @@ uint8_t pull32(uint8_t **in, uint32_t *out, uint8_t *end) {
return
4
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -214,6 +240,7 @@ uint8_t pulls32(uint8_t **in, int32_t *out, uint8_t *end) {
return
4
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -230,6 +257,7 @@ uint32_t pullarray16(uint8_t **in, uint16_t out[], uint32_t max_len, uint32_t le
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -244,6 +272,7 @@ uint32_t pullarray16(uint8_t **in, uint16_t out[], uint32_t max_len, uint32_t le
return
sizeof
(
uint16_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -254,6 +283,7 @@ uint32_t pullarrays16(uint8_t **in, int16_t out[], uint32_t max_len, uint32_t le
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -268,6 +298,7 @@ uint32_t pullarrays16(uint8_t **in, int16_t out[], uint32_t max_len, uint32_t le
return
sizeof
(
uint16_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -277,6 +308,7 @@ uint32_t pusharray16(uint16_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -291,6 +323,7 @@ uint32_t pusharray16(uint16_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
return
sizeof
(
uint16_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -300,6 +333,7 @@ uint32_t pusharrays16(int16_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -314,6 +348,7 @@ uint32_t pusharrays16(int16_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
return
sizeof
(
uint16_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -323,10 +358,13 @@ uint32_t pullarray32(uint8_t **values_to_pull,
uint32_t
num_values_to_pull
,
uint8_t
*
out_end
)
{
if
(
num_values_to_pull
==
0
)
return
1
;
if
(
num_values_to_pull
>
max_num_values_to_pull
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
num_values_to_pull
,
max_num_values_to_pull
);
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
num_values_to_pull
,
max_num_values_to_pull
);
on_error
();
return
0
;
}
...
...
@@ -341,6 +379,7 @@ uint32_t pullarray32(uint8_t **values_to_pull,
return
sizeof
(
uint32_t
)
*
num_values_to_pull
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -351,6 +390,7 @@ uint32_t pullarrays32(uint8_t **in, int32_t out[], uint32_t max_len, uint32_t le
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -365,6 +405,7 @@ uint32_t pullarrays32(uint8_t **in, int32_t out[], uint32_t max_len, uint32_t le
return
sizeof
(
uint32_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -377,7 +418,9 @@ uint32_t pusharray32(const uint32_t *values_to_push,
return
1
;
if
(
num_values_to_push
>
max_num_values_to_push
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
num_values_to_push
,
max_num_values_to_push
);
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
num_values_to_push
,
max_num_values_to_push
);
on_error
();
return
0
;
}
...
...
@@ -392,6 +435,7 @@ uint32_t pusharray32(const uint32_t *values_to_push,
return
sizeof
(
uint32_t
)
*
num_values_to_push
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -401,6 +445,7 @@ uint32_t pusharrays32(int32_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -415,6 +460,7 @@ uint32_t pusharrays32(int32_t in[], uint32_t max_len, uint32_t len, uint8_t **ou
return
sizeof
(
uint32_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -424,6 +470,7 @@ uint32_t pullarray8(uint8_t **in, uint8_t out[], uint32_t max_len, uint32_t len,
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -433,6 +480,7 @@ uint32_t pullarray8(uint8_t **in, uint8_t out[], uint32_t max_len, uint32_t len,
return
sizeof
(
uint8_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -443,6 +491,7 @@ uint32_t pusharray8(uint8_t in[], uint32_t max_len, uint32_t len, uint8_t **out,
if
(
len
>
max_len
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
len
,
max_len
);
on_error
();
return
0
;
}
...
...
@@ -452,6 +501,7 @@ uint32_t pusharray8(uint8_t in[], uint32_t max_len, uint32_t len, uint8_t **out,
return
sizeof
(
uint8_t
)
*
len
;
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s no space in buffer
\n
"
,
__FUNCTION__
);
on_error
();
return
0
;
}
}
...
...
@@ -459,6 +509,7 @@ uint32_t pusharray8(uint8_t in[], uint32_t max_len, uint32_t len, uint8_t **out,
uint8_t
packarray
(
void
*
array
,
uint16_t
array_element_size
,
uint16_t
max_count
,
uint16_t
count
,
uint8_t
**
ppwritepackedmsg
,
uint8_t
*
end
,
pack_array_elem_fn
fn
)
{
if
(
count
>
max_count
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
count
,
max_count
);
on_error
();
return
0
;
}
...
...
@@ -477,6 +528,7 @@ uint8_t packarray(void *array, uint16_t array_element_size, uint16_t max_count,
uint8_t
unpackarray
(
uint8_t
**
ppReadPackedMsg
,
void
*
array
,
uint16_t
array_element_size
,
uint16_t
max_count
,
uint16_t
count
,
uint8_t
*
end
,
unpack_array_elem_fn
fn
)
{
if
(
count
>
max_count
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"%s exceed array size (%d > %d)
\n
"
,
__FUNCTION__
,
count
,
max_count
);
on_error
();
return
0
;
}
...
...
@@ -596,6 +648,7 @@ int unpack_tlv_list(unpack_tlv_t unpack_fns[], uint16_t size, uint8_t **ppReadPa
// check if the length was right;
if
(
tl
->
length
!=
(
*
ppReadPackedMsg
-
pStartOfValue
))
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Warning tlv tag 0x%x length %d not equal to unpack %ld
\n
"
,
tl
->
tag
,
tl
->
length
,
(
*
ppReadPackedMsg
-
pStartOfValue
));
on_error
();
}
}
}
...
...
@@ -610,9 +663,11 @@ int unpack_tlv_list(unpack_tlv_t unpack_fns[], uint16_t size, uint8_t **ppReadPa
return
0
;
}
else
if
(
result
<
0
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Unknown VE TAG value: 0x%04x
\n
"
,
generic_tl
.
tag
);
on_error
();
if
(
++
numBadTags
>
MAX_BAD_TAG
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Supplied message has had too many bad tags
\n
"
);
on_error
();
return
0
;
}
...
...
@@ -626,9 +681,11 @@ int unpack_tlv_list(unpack_tlv_t unpack_fns[], uint16_t size, uint8_t **ppReadPa
}
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Unknown TAG value: 0x%04x
\n
"
,
generic_tl
.
tag
);
on_error
();
if
(
++
numBadTags
>
MAX_BAD_TAG
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Supplied message has had too many bad tags
\n
"
);
on_error
();
return
0
;
}
...
...
@@ -673,6 +730,7 @@ int unpack_p7_tlv_list(unpack_p7_tlv_t unpack_fns[], uint16_t size, uint8_t **pp
// check if the length was right;
if
(
tl
->
length
!=
(
*
ppReadPackedMsg
-
pStartOfValue
))
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Warning tlv tag 0x%x length %d not equal to unpack %ld
\n
"
,
tl
->
tag
,
tl
->
length
,
(
*
ppReadPackedMsg
-
pStartOfValue
));
on_error
();
}
}
}
...
...
@@ -687,9 +745,11 @@ int unpack_p7_tlv_list(unpack_p7_tlv_t unpack_fns[], uint16_t size, uint8_t **pp
return
0
;
}
else
if
(
result
<
0
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Unknown TAG value: 0x%04x
\n
"
,
generic_tl
.
tag
);
on_error
();
if
(
++
numBadTags
>
MAX_BAD_TAG
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Supplied message has had too many bad tags
\n
"
);
on_error
();
return
-
1
;
}
...
...
@@ -703,9 +763,11 @@ int unpack_p7_tlv_list(unpack_p7_tlv_t unpack_fns[], uint16_t size, uint8_t **pp
}
}
else
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Unknown TAG value: 0x%04x
\n
"
,
generic_tl
.
tag
);
on_error
();
if
(
++
numBadTags
>
MAX_BAD_TAG
)
{
NFAPI_TRACE
(
NFAPI_TRACE_ERROR
,
"Supplied message has had too many bad tags
\n
"
);
on_error
();
return
-
1
;
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
df06a1e8
...
...
@@ -944,6 +944,10 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
if
(
mac
->
if_module
!=
NULL
&&
mac
->
if_module
->
scheduled_response
!=
NULL
)
mac
->
if_module
->
scheduled_response
(
&
scheduled_response
);
}
else
{
dl_config
->
number_pdus
=
0
;
}
}
}
else
if
(
ul_info
)
{
...
...
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