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
alex037yang
OpenXG-RAN
Commits
78fb7901
Commit
78fb7901
authored
Jul 12, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/bugfixes-2019-w28' into develop_integration_2019_w28
parents
3dfce638
2421b71d
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
102 deletions
+41
-102
common/utils/T/tracer/macpdu2wireshark.c
common/utils/T/tracer/macpdu2wireshark.c
+19
-75
openair1/PHY/LTE_TRANSPORT/dci.c
openair1/PHY/LTE_TRANSPORT/dci.c
+2
-18
openair2/COMMON/x2ap_messages_types.h
openair2/COMMON/x2ap_messages_types.h
+1
-1
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+6
-2
openair2/RRC/LTE/rrc_proto.h
openair2/RRC/LTE/rrc_proto.h
+5
-3
openair2/X2AP/x2ap_eNB_handler.c
openair2/X2AP/x2ap_eNB_handler.c
+2
-2
openair3/SCTP/sctp_default_values.h
openair3/SCTP/sctp_default_values.h
+1
-1
openair3/SCTP/sctp_eNB_task.c
openair3/SCTP/sctp_eNB_task.c
+5
-0
No files found.
common/utils/T/tracer/macpdu2wireshark.c
View file @
78fb7901
...
@@ -52,6 +52,7 @@ typedef struct {
...
@@ -52,6 +52,7 @@ typedef struct {
int
max_mib
;
int
max_mib
;
int
max_sib
;
int
max_sib
;
int
live
;
int
live
;
int
no_bind
;
/* runtime vars */
/* runtime vars */
int
cur_mib
;
int
cur_mib
;
int
cur_sib
;
int
cur_sib
;
...
@@ -264,9 +265,11 @@ void *receiver(void *_d) {
...
@@ -264,9 +265,11 @@ void *receiver(void *_d) {
abort
();
abort
();
}
}
if
(
bind
(
s
,
(
struct
sockaddr
*
)
&
d
->
to
,
sizeof
(
struct
sockaddr_in
))
==
-
1
)
{
if
(
d
->
no_bind
==
0
)
{
perror
(
"bind"
);
if
(
bind
(
s
,
(
struct
sockaddr
*
)
&
d
->
to
,
sizeof
(
struct
sockaddr_in
))
==
-
1
)
{
abort
();
perror
(
"bind"
);
abort
();
}
}
}
while
(
1
)
{
while
(
1
)
{
...
@@ -290,6 +293,7 @@ void usage(void) {
...
@@ -290,6 +293,7 @@ void usage(void) {
" -live run live
\n
"
" -live run live
\n
"
" -live-ip <IP address> tracee's IP address (default %s)
\n
"
" -live-ip <IP address> tracee's IP address (default %s)
\n
"
" -live-port <port> tracee's port (default %d)
\n
"
" -live-port <port> tracee's port (default %d)
\n
"
" -no-bind don't bind to IP address (for remote logging)
\n
"
"-i and -live are mutually exclusive options. One of them must be provided
\n
"
"-i and -live are mutually exclusive options. One of them must be provided
\n
"
"but not both.
\n
"
,
"but not both.
\n
"
,
DEFAULT_IP
,
DEFAULT_IP
,
...
@@ -318,78 +322,18 @@ int main(int n, char **v) {
...
@@ -318,78 +322,18 @@ int main(int n, char **v) {
for
(
i
=
1
;
i
<
n
;
i
++
)
{
for
(
i
=
1
;
i
<
n
;
i
++
)
{
if
(
!
strcmp
(
v
[
i
],
"-h"
)
||
!
strcmp
(
v
[
i
],
"--help"
))
usage
();
if
(
!
strcmp
(
v
[
i
],
"-h"
)
||
!
strcmp
(
v
[
i
],
"--help"
))
usage
();
if
(
!
strcmp
(
v
[
i
],
"-d"
))
{
if
(
i
>
n
-
2
)
usage
();
database_filename
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-d"
))
{
if
(
!
strcmp
(
v
[
i
],
"-i"
))
{
if
(
i
>
n
-
2
)
usage
();
input_filename
=
v
[
++
i
];
continue
;
}
if
(
i
>
n
-
2
)
usage
();
if
(
!
strcmp
(
v
[
i
],
"-ip"
))
{
if
(
i
>
n
-
2
)
usage
();
ip
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-p"
))
{
if
(
i
>
n
-
2
)
usage
();
port
=
atoi
(
v
[
++
i
]);
continue
;
}
database_filename
=
v
[
++
i
];
if
(
!
strcmp
(
v
[
i
],
"-no-mib"
))
{
d
.
no_mib
=
1
;
continue
;
}
continue
;
if
(
!
strcmp
(
v
[
i
],
"-no-sib"
))
{
d
.
no_sib
=
1
;
continue
;
}
}
if
(
!
strcmp
(
v
[
i
],
"-max-mib"
))
{
if
(
i
>
n
-
2
)
usage
();
d
.
max_mib
=
atoi
(
v
[
++
i
]);
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-max-sib"
))
{
if
(
i
>
n
-
2
)
usage
();
d
.
max_sib
=
atoi
(
v
[
++
i
]);
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-i"
))
{
if
(
!
strcmp
(
v
[
i
],
"-live"
))
{
live
=
1
;
continue
;
}
if
(
i
>
n
-
2
)
usage
();
if
(
!
strcmp
(
v
[
i
],
"-live-ip"
))
{
if
(
i
>
n
-
2
)
usage
();
live_ip
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-live-port"
))
{
if
(
i
>
n
-
2
)
usage
();
live_port
=
atoi
(
v
[
++
i
]);
continue
;
}
input_filename
=
v
[
++
i
];
if
(
!
strcmp
(
v
[
i
],
"-no-bind"
))
{
d
.
no_bind
=
1
;
continue
;
}
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-ip"
))
{
if
(
i
>
n
-
2
)
usage
();
ip
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-p"
))
{
if
(
i
>
n
-
2
)
usage
();
port
=
atoi
(
v
[
++
i
]);
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-no-mib"
))
{
d
.
no_mib
=
1
;
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-no-sib"
))
{
d
.
no_sib
=
1
;
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-max-mib"
))
{
if
(
i
>
n
-
2
)
usage
();
d
.
max_mib
=
atoi
(
v
[
++
i
]);
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-max-sib"
))
{
if
(
i
>
n
-
2
)
usage
();
d
.
max_sib
=
atoi
(
v
[
++
i
]);
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-live"
))
{
live
=
1
;
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-live-ip"
))
{
if
(
i
>
n
-
2
)
usage
();
live_ip
=
v
[
++
i
];
continue
;
}
if
(
!
strcmp
(
v
[
i
],
"-live-port"
))
{
if
(
i
>
n
-
2
)
usage
();
live_port
=
atoi
(
v
[
++
i
]);
continue
;
}
usage
();
usage
();
}
}
...
...
openair1/PHY/LTE_TRANSPORT/dci.c
View file @
78fb7901
...
@@ -291,24 +291,8 @@ uint8_t generate_dci_top(uint8_t num_pdcch_symbols,
...
@@ -291,24 +291,8 @@ uint8_t generate_dci_top(uint8_t num_pdcch_symbols,
y
[
0
]
=
&
yseq0
[
0
];
y
[
0
]
=
&
yseq0
[
0
];
y
[
1
]
=
&
yseq1
[
0
];
y
[
1
]
=
&
yseq1
[
0
];
if
(
IS_SOFTMODEM_BASICSIM
)
{
/* reset all bits to <NIL>, here we set <NIL> elements as 2 */
/* this should be the normal case
memset
(
e
,
2
,
DCI_BITS_MAX
);
* but it has to be validated for all the various cases
* so let's just do it for the basic simulator
*/
// memset(e, 2, DCI_BITS_MAX);
}
else
{
// reset all bits to <NIL>, here we set <NIL> elements as 2
// memset(e, 2, DCI_BITS_MAX);
// here we interpret NIL as a random QPSK sequence. That makes power estimation easier.
for
(
i
=
0
;
i
<
DCI_BITS_MAX
;
i
++
)
e
[
i
]
=
taus
()
&
1
;
/* clear all bits, the above code may generate too much false detections
* (not sure about this, to be checked somehow)
*/
//memset(e, 0, DCI_BITS_MAX);
}
/* BASIC_SIMULATOR */
e_ptr
=
e
;
e_ptr
=
e
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_GENERATE_DCI0
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_GENERATE_DCI0
,
1
);
...
...
openair2/COMMON/x2ap_messages_types.h
View file @
78fb7901
...
@@ -205,7 +205,7 @@ typedef struct x2ap_handover_req_s {
...
@@ -205,7 +205,7 @@ typedef struct x2ap_handover_req_s {
x2ap_lastvisitedcell_info_t
lastvisitedcell_info
;
x2ap_lastvisitedcell_info_t
lastvisitedcell_info
;
uint8_t
rrc_buffer
[
1024
/* arbitrary, big enough */
];
uint8_t
rrc_buffer
[
8192
/* arbitrary, big enough */
];
int
rrc_buffer_size
;
int
rrc_buffer_size
;
int
target_assoc_id
;
int
target_assoc_id
;
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
78fb7901
...
@@ -116,6 +116,10 @@ extern int rrc_eNB_process_security(const protocol_ctxt_t *const ctxt_pP, rrc_eN
...
@@ -116,6 +116,10 @@ extern int rrc_eNB_process_security(const protocol_ctxt_t *const ctxt_pP, rrc_eN
extern
void
process_eNB_security_key
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_eNB_ue_context_t
*
const
ue_context_pP
,
uint8_t
*
security_key_pP
);
extern
void
process_eNB_security_key
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
rrc_eNB_ue_context_t
*
const
ue_context_pP
,
uint8_t
*
security_key_pP
);
extern
int
derive_keNB_star
(
const
uint8_t
*
kenb_32
,
const
uint16_t
pci
,
const
uint32_t
earfcn_dl
,
const
bool
is_rel8_only
,
uint8_t
*
kenb_star
);
extern
int
derive_keNB_star
(
const
uint8_t
*
kenb_32
,
const
uint16_t
pci
,
const
uint32_t
earfcn_dl
,
const
bool
is_rel8_only
,
uint8_t
*
kenb_star
);
pthread_mutex_t
rrc_release_freelist
;
RRC_release_list_t
rrc_release_info
;
pthread_mutex_t
lock_ue_freelist
;
void
void
openair_rrc_on
(
openair_rrc_on
(
const
protocol_ctxt_t
*
const
ctxt_pP
const
protocol_ctxt_t
*
const
ctxt_pP
...
@@ -4610,10 +4614,10 @@ rrc_eNB_generate_HandoverPreparationInformation(
...
@@ -4610,10 +4614,10 @@ rrc_eNB_generate_HandoverPreparationInformation(
uint8_t
*
buffer
,
uint8_t
*
buffer
,
int
*
_size
int
*
_size
)
{
)
{
memset
(
buffer
,
0
,
RRC_BUF_SIZE
);
memset
(
buffer
,
0
,
8192
);
char
*
ho_buf
=
(
char
*
)
buffer
;
char
*
ho_buf
=
(
char
*
)
buffer
;
int
ho_size
;
int
ho_size
;
ho_size
=
do_HandoverPreparation
(
ho_buf
,
1024
,
ue_context_pP
->
ue_context
.
UE_Capability
,
ue_context_pP
->
ue_context
.
UE_Capability_size
);
ho_size
=
do_HandoverPreparation
(
ho_buf
,
8192
,
ue_context_pP
->
ue_context
.
UE_Capability
,
ue_context_pP
->
ue_context
.
UE_Capability_size
);
*
_size
=
ho_size
;
*
_size
=
ho_size
;
}
}
...
...
openair2/RRC/LTE/rrc_proto.h
View file @
78fb7901
...
@@ -667,9 +667,11 @@ void openair_rrc_top_init_ue(
...
@@ -667,9 +667,11 @@ void openair_rrc_top_init_ue(
uint8_t
cba_group_active
,
uint8_t
cba_group_active
,
uint8_t
HO_active
uint8_t
HO_active
);
);
pthread_mutex_t
rrc_release_freelist
;
RRC_release_list_t
rrc_release_info
;
extern
pthread_mutex_t
rrc_release_freelist
;
pthread_mutex_t
lock_ue_freelist
;
extern
RRC_release_list_t
rrc_release_info
;
extern
pthread_mutex_t
lock_ue_freelist
;
void
remove_UE_from_freelist
(
module_id_t
mod_id
,
rnti_t
rnti
);
void
remove_UE_from_freelist
(
module_id_t
mod_id
,
rnti_t
rnti
);
void
put_UE_in_freelist
(
module_id_t
mod_id
,
rnti_t
rnti
,
boolean_t
removeFlag
);
void
put_UE_in_freelist
(
module_id_t
mod_id
,
rnti_t
rnti
,
boolean_t
removeFlag
);
void
release_UE_in_freeList
(
module_id_t
mod_id
);
void
release_UE_in_freeList
(
module_id_t
mod_id
);
...
...
openair2/X2AP/x2ap_eNB_handler.c
View file @
78fb7901
...
@@ -730,7 +730,7 @@ int x2ap_eNB_handle_handover_preparation (instance_t instance,
...
@@ -730,7 +730,7 @@ int x2ap_eNB_handle_handover_preparation (instance_t instance,
X2AP_RRC_Context_t
*
c
=
&
ie
->
value
.
choice
.
UE_ContextInformation
.
rRC_Context
;
X2AP_RRC_Context_t
*
c
=
&
ie
->
value
.
choice
.
UE_ContextInformation
.
rRC_Context
;
if
(
c
->
size
>
1024
/* TODO: this is the size of rrc_buffer in struct x2ap_handover_req_ack_s
*/
)
if
(
c
->
size
>
8192
/* TODO: this is the size of rrc_buffer in struct x2ap_handover_req_s
*/
)
{
printf
(
"%s:%d: fatal: buffer too big
\n
"
,
__FILE__
,
__LINE__
);
abort
();
}
{
printf
(
"%s:%d: fatal: buffer too big
\n
"
,
__FILE__
,
__LINE__
);
abort
();
}
memcpy
(
X2AP_HANDOVER_REQ
(
msg
).
rrc_buffer
,
c
->
buf
,
c
->
size
);
memcpy
(
X2AP_HANDOVER_REQ
(
msg
).
rrc_buffer
,
c
->
buf
,
c
->
size
);
...
@@ -821,7 +821,7 @@ int x2ap_eNB_handle_handover_response (instance_t instance,
...
@@ -821,7 +821,7 @@ int x2ap_eNB_handle_handover_response (instance_t instance,
X2AP_TargeteNBtoSource_eNBTransparentContainer_t
*
c
=
&
ie
->
value
.
choice
.
TargeteNBtoSource_eNBTransparentContainer
;
X2AP_TargeteNBtoSource_eNBTransparentContainer_t
*
c
=
&
ie
->
value
.
choice
.
TargeteNBtoSource_eNBTransparentContainer
;
if
(
c
->
size
>
1024
/* TODO: this is the size of rrc_buffer in struct x2ap_handover_req_ack_s*/
)
if
(
c
->
size
>
1024
/* TODO: this is the size of rrc_buffer in struct x2ap_handover_req_ack_s
*/
)
{
printf
(
"%s:%d: fatal: buffer too big
\n
"
,
__FILE__
,
__LINE__
);
abort
();
}
{
printf
(
"%s:%d: fatal: buffer too big
\n
"
,
__FILE__
,
__LINE__
);
abort
();
}
memcpy
(
X2AP_HANDOVER_REQ_ACK
(
msg
).
rrc_buffer
,
c
->
buf
,
c
->
size
);
memcpy
(
X2AP_HANDOVER_REQ_ACK
(
msg
).
rrc_buffer
,
c
->
buf
,
c
->
size
);
...
...
openair3/SCTP/sctp_default_values.h
View file @
78fb7901
...
@@ -26,6 +26,6 @@
...
@@ -26,6 +26,6 @@
#define SCTP_IN_STREAMS (16)
#define SCTP_IN_STREAMS (16)
#define SCTP_MAX_ATTEMPTS (2)
#define SCTP_MAX_ATTEMPTS (2)
#define SCTP_TIMEOUT (5)
#define SCTP_TIMEOUT (5)
#define SCTP_RECV_BUFFER_SIZE (
1024
)
#define SCTP_RECV_BUFFER_SIZE (
8192
)
#endif
/* SCTP_DEFAULT_VALUES_H_ */
#endif
/* SCTP_DEFAULT_VALUES_H_ */
openair3/SCTP/sctp_eNB_task.c
View file @
78fb7901
...
@@ -955,6 +955,11 @@ sctp_eNB_read_from_socket(
...
@@ -955,6 +955,11 @@ sctp_eNB_read_from_socket(
return
;
return
;
}
}
if
(
!
(
flags
&
MSG_EOR
))
{
SCTP_ERROR
(
"fatal: partial SCTP messages are not handled
\n
"
);
exit
(
1
);
}
if
(
flags
&
MSG_NOTIFICATION
)
{
if
(
flags
&
MSG_NOTIFICATION
)
{
union
sctp_notification
*
snp
;
union
sctp_notification
*
snp
;
snp
=
(
union
sctp_notification
*
)
buffer
;
snp
=
(
union
sctp_notification
*
)
buffer
;
...
...
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