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
3e8899fc
Commit
3e8899fc
authored
Jan 04, 2023
by
Sakthivel Velumani
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix function arguments and warnings
parent
989ad183
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
287 additions
and
307 deletions
+287
-307
openair2/E1AP/e1ap.c
openair2/E1AP/e1ap.c
+240
-257
openair2/E1AP/e1ap.h
openair2/E1AP/e1ap.h
+9
-9
openair2/E1AP/e1ap_api.c
openair2/E1AP/e1ap_api.c
+5
-5
openair2/E1AP/e1ap_api.h
openair2/E1AP/e1ap_api.h
+2
-2
openair2/F1AP/f1ap_decoder.c
openair2/F1AP/f1ap_decoder.c
+1
-1
openair2/RRC/NR/cucp_cuup_direct.c
openair2/RRC/NR/cucp_cuup_direct.c
+13
-13
openair2/RRC/NR/cucp_cuup_e1ap.c
openair2/RRC/NR/cucp_cuup_e1ap.c
+4
-4
openair2/RRC/NR/cucp_cuup_if.h
openair2/RRC/NR/cucp_cuup_if.h
+8
-8
openair2/RRC/NR/nr_rrc_defs.h
openair2/RRC/NR/nr_rrc_defs.h
+2
-2
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+2
-5
openair2/RRC/NR/rrc_gNB_NGAP.c
openair2/RRC/NR/rrc_gNB_NGAP.c
+1
-1
No files found.
openair2/E1AP/e1ap.c
View file @
3e8899fc
This diff is collapsed.
Click to expand it.
openair2/E1AP/e1ap.h
View file @
3e8899fc
...
...
@@ -31,28 +31,28 @@
int
e1apCUCP_handle_SETUP_REQUEST
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUUP_handle_SETUP_RESPONSE
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUUP_handle_SETUP_FAILURE
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUUP_handle_BEARER_CONTEXT_SETUP_REQUEST
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUCP_handle_BEARER_CONTEXT_SETUP_RESPONSE
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUCP_handle_BEARER_CONTEXT_SETUP_FAILURE
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUUP_handle_BEARER_CONTEXT_MODIFICATION_REQUEST
(
instance_t
instance
,
E1AP_E1AP_PDU_t
*
pdu
);
const
E1AP_E1AP_PDU_t
*
pdu
);
int
e1apCUUP_send_BEARER_CONTEXT_SETUP_RESPONSE
(
instance_t
instance
,
e1ap_bearer_setup_resp_t
*
resp
);
void
e1apCUUP_send_BEARER_CONTEXT_SETUP_RESPONSE
(
instance_t
instance
,
e1ap_bearer_setup_resp_t
*
const
resp
);
void
*
E1AP_CUUP_task
(
void
*
arg
);
...
...
openair2/E1AP/e1ap_api.c
View file @
3e8899fc
...
...
@@ -100,7 +100,7 @@ static void fill_DRB_configList_e1(NR_DRB_ToAddModList_t *DRB_configList, pdu_se
}
}
static
int
drb_config_N3gtpu_create
(
e1ap_bearer_setup_req_t
*
req
,
static
int
drb_config_N3gtpu_create
(
e1ap_bearer_setup_req_t
*
const
req
,
gtpv1u_gnb_create_tunnel_resp_t
*
create_tunnel_resp
,
instance_t
instance
)
{
...
...
@@ -108,7 +108,7 @@ static int drb_config_N3gtpu_create(e1ap_bearer_setup_req_t *req,
NR_DRB_ToAddModList_t
DRB_configList
=
{
0
};
for
(
int
i
=
0
;
i
<
req
->
numPDUSessions
;
i
++
)
{
pdu_session_to_setup_t
*
pdu
=
&
req
->
pduSession
[
i
];
pdu_session_to_setup_t
*
const
pdu
=
&
req
->
pduSession
[
i
];
create_tunnel_req
.
pdusession_id
[
i
]
=
pdu
->
sessionId
;
create_tunnel_req
.
incoming_rb_id
[
i
]
=
pdu
->
DRBnGRanList
[
0
].
id
;
// taking only the first DRB. TODO:change this
memcpy
(
&
create_tunnel_req
.
dst_addr
[
i
].
buffer
,
...
...
@@ -152,7 +152,7 @@ static int drb_config_N3gtpu_create(e1ap_bearer_setup_req_t *req,
return
ret
;
}
void
CUUP_process_e1_bearer_context_setup_req
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
void
CUUP_process_e1_bearer_context_setup_req
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
gtpv1u_gnb_create_tunnel_resp_t
create_tunnel_resp_N3
=
{
0
};
...
...
@@ -169,7 +169,7 @@ void CUUP_process_e1_bearer_context_setup_req(e1ap_bearer_setup_req_t *req, inst
&
my_addr
);
gtpInst
=
getCxtE1
(
UPtype
,
instance
)
->
gtpInstF1U
;
CU_create_UP_DL_tunnel
(
&
resp
,
req
,
gtpInst
,
req
->
gNB_cu_cp_ue_id
,
remote_port
,
my_addr
);
fill_e1ap_bearer_setup_resp
(
&
resp
,
req
,
gtpInst
,
req
->
gNB_cu_cp_ue_id
,
remote_port
,
my_addr
);
resp
.
gNB_cu_cp_ue_id
=
req
->
gNB_cu_cp_ue_id
;
resp
.
numPDUSessions
=
req
->
numPDUSessions
;
...
...
@@ -193,7 +193,7 @@ void CUUP_process_e1_bearer_context_setup_req(e1ap_bearer_setup_req_t *req, inst
e1apCUUP_send_BEARER_CONTEXT_SETUP_RESPONSE
(
instance
,
&
resp
);
}
void
CUUP_process_bearer_context_mod_req
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
void
CUUP_process_bearer_context_mod_req
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
instance_t
gtpInst
=
getCxtE1
(
UPtype
,
instance
)
->
gtpInstF1U
;
CU_update_UP_DL_tunnel
(
req
,
gtpInst
,
req
->
gNB_cu_cp_ue_id
);
// TODO: send bearer cxt mod response
...
...
openair2/E1AP/e1ap_api.h
View file @
3e8899fc
...
...
@@ -27,8 +27,8 @@
#include "platform_types.h"
#include "openair2/COMMON/e1ap_messages_types.h"
void
CUUP_process_e1_bearer_context_setup_req
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
);
void
CUUP_process_e1_bearer_context_setup_req
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
);
void
CUUP_process_bearer_context_mod_req
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
);
void
CUUP_process_bearer_context_mod_req
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
);
#endif
openair2/F1AP/f1ap_decoder.c
View file @
3e8899fc
...
...
@@ -166,7 +166,7 @@ static int f1ap_decode_unsuccessful_outcome(F1AP_F1AP_PDU_t *pdu) {
int
f1ap_decode_pdu
(
F1AP_F1AP_PDU_t
*
pdu
,
const
uint8_t
*
const
buffer
,
uint32_t
length
)
{
asn_dec_rval_t
dec_ret
;
DevAssert
(
buffer
!=
NULL
);
asn_codec_ctx_t
st
=
{
100
*
1000
};
asn_codec_ctx_t
st
=
{
.
max_stack_size
=
100
*
1000
};
dec_ret
=
aper_decode
(
&
st
,
&
asn_DEF_F1AP_F1AP_PDU
,
(
void
**
)
&
pdu
,
...
...
openair2/RRC/NR/cucp_cuup_direct.c
View file @
3e8899fc
...
...
@@ -40,8 +40,8 @@
extern
RAN_CONTEXT_t
RC
;
void
CU_create_UP_DL_tunnel
(
e1ap_bearer_setup_resp_t
*
resp
,
e1ap_bearer_setup_req_t
*
req
,
void
fill_e1ap_bearer_setup_resp
(
e1ap_bearer_setup_resp_t
*
resp
,
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
gtpInst
,
ue_id_t
ue_id
,
int
remote_port
,
...
...
@@ -78,7 +78,7 @@ void CU_create_UP_DL_tunnel(e1ap_bearer_setup_resp_t *resp,
}
}
void
CU_update_UP_DL_tunnel
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
,
ue_id_t
ue_id
)
{
void
CU_update_UP_DL_tunnel
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
,
ue_id_t
ue_id
)
{
for
(
int
i
=
0
;
i
<
req
->
numPDUSessionsMod
;
i
++
)
{
for
(
int
j
=
0
;
j
<
req
->
pduSessionMod
[
i
].
numDRB2Modify
;
j
++
)
{
DRB_nGRAN_to_setup_t
*
drb_p
=
req
->
pduSessionMod
[
i
].
DRBnGRanModList
+
j
;
...
...
@@ -100,7 +100,7 @@ void CU_update_UP_DL_tunnel(e1ap_bearer_setup_req_t *req, instance_t instance, u
static
int
drb_config_gtpu_create
(
const
protocol_ctxt_t
*
const
ctxt_p
,
rrc_gNB_ue_context_t
*
ue_context_p
,
e1ap_bearer_setup_req_t
*
req
,
e1ap_bearer_setup_req_t
*
const
req
,
NR_DRB_ToAddModList_t
*
DRB_configList
,
NR_SRB_ToAddModList_t
*
SRB_configList
,
instance_t
instance
)
{
...
...
@@ -177,7 +177,7 @@ static int drb_config_gtpu_create(const protocol_ctxt_t *const ctxt_p,
return
ret
;
}
static
void
cucp_cuup_bearer_context_setup_direct
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
static
void
cucp_cuup_bearer_context_setup_direct
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
rrc_gNB_ue_context_t
*
ue_context_p
=
rrc_gNB_get_ue_context
(
RC
.
nrrrc
[
GNB_INSTANCE_TO_MODULE_ID
(
instance
)],
req
->
rnti
);
protocol_ctxt_t
ctxt
=
{
0
};
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
0
,
GNB_FLAG_YES
,
ue_context_p
->
ue_context
.
rnti
,
0
,
0
,
0
);
...
...
@@ -202,18 +202,18 @@ static void cucp_cuup_bearer_context_setup_direct(e1ap_bearer_setup_req_t *req,
in_addr_t
my_addr
=
inet_addr
(
RC
.
nrrrc
[
ctxt
.
module_id
]
->
eth_params_s
.
my_addr
);
instance_t
gtpInst
=
getCxt
(
CUtype
,
instance
)
->
gtpInst
;
// GTP tunnel for DL
CU_create_UP_DL_tunnel
(
&
resp
,
req
,
gtpInst
,
ue_context_p
->
ue_context
.
rnti
,
remote_port
,
my_addr
);
fill_e1ap_bearer_setup_resp
(
&
resp
,
req
,
gtpInst
,
ue_context_p
->
ue_context
.
rnti
,
remote_port
,
my_addr
);
prepare_and_send_ue_context_modification_f1
(
ue_context_p
,
&
resp
);
}
}
static
void
cucp_cuup_bearer_context_mod_direct
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
static
void
cucp_cuup_bearer_context_mod_direct
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
instance_t
gtpInst
=
getCxt
(
CUtype
,
instance
)
->
gtpInst
;
CU_update_UP_DL_tunnel
(
req
,
gtpInst
,
req
->
rnti
);
}
void
cucp_cuup_message_transfer_direct_init
(
gNB_RRC_INST
*
rrc
)
{
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_setup
=
cucp_cuup_bearer_context_setup_direct
;
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_mod
=
cucp_cuup_bearer_context_mod_direct
;
rrc
->
cucp_cuup
.
bearer_context_setup
=
cucp_cuup_bearer_context_setup_direct
;
rrc
->
cucp_cuup
.
bearer_context_mod
=
cucp_cuup_bearer_context_mod_direct
;
}
openair2/RRC/NR/cucp_cuup_e1ap.c
View file @
3e8899fc
...
...
@@ -35,7 +35,7 @@
extern
RAN_CONTEXT_t
RC
;
static
void
cucp_cuup_bearer_context_setup_e1ap
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
static
void
cucp_cuup_bearer_context_setup_e1ap
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
rrc_gNB_ue_context_t
*
ue_context_p
=
rrc_gNB_get_ue_context
(
RC
.
nrrrc
[
GNB_INSTANCE_TO_MODULE_ID
(
instance
)],
req
->
rnti
);
protocol_ctxt_t
ctxt
=
{
0
};
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
0
,
GNB_FLAG_YES
,
ue_context_p
->
ue_context
.
rnti
,
0
,
0
,
0
);
...
...
@@ -48,7 +48,7 @@ static void cucp_cuup_bearer_context_setup_e1ap(e1ap_bearer_setup_req_t *req, in
itti_send_msg_to_task
(
TASK_CUCP_E1
,
instance
,
msg_p
);
}
static
void
cucp_cuup_bearer_context_mod_e1ap
(
e1ap_bearer_setup_req_t
*
req
,
instance_t
instance
)
{
static
void
cucp_cuup_bearer_context_mod_e1ap
(
e1ap_bearer_setup_req_t
*
const
req
,
instance_t
instance
)
{
MessageDef
*
msg
=
itti_alloc_new_message
(
TASK_CUCP_E1
,
instance
,
E1AP_BEARER_CONTEXT_MODIFICATION_REQ
);
e1ap_bearer_setup_req_t
*
req_msg
=
&
E1AP_BEARER_CONTEXT_SETUP_REQ
(
msg
);
memcpy
(
req_msg
,
req
,
sizeof
(
*
req
));
...
...
@@ -56,6 +56,6 @@ static void cucp_cuup_bearer_context_mod_e1ap(e1ap_bearer_setup_req_t *req, inst
}
void
cucp_cuup_message_transfer_e1ap_init
(
gNB_RRC_INST
*
rrc
)
{
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_setup
=
cucp_cuup_bearer_context_setup_e1ap
;
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_mod
=
cucp_cuup_bearer_context_mod_e1ap
;
rrc
->
cucp_cuup
.
bearer_context_setup
=
cucp_cuup_bearer_context_setup_e1ap
;
rrc
->
cucp_cuup
.
bearer_context_mod
=
cucp_cuup_bearer_context_mod_e1ap
;
}
openair2/RRC/NR/cucp_cuup_if.h
View file @
3e8899fc
...
...
@@ -27,16 +27,16 @@
struct
e1ap_bearer_setup_req_s
;
struct
e1ap_bearer_setup_resp_s
;
typedef
void
(
*
cucp_cuup_bearer_context_setup_func_t
)(
struct
e1ap_bearer_setup_req_s
*
req
,
instance_t
instance
);
typedef
void
(
*
cucp_cuup_bearer_context_setup_func_t
)(
struct
e1ap_bearer_setup_req_s
*
const
req
,
instance_t
instance
);
struct
gNB_RRC_INST_s
;
void
cucp_cuup_message_transfer_direct_init
(
struct
gNB_RRC_INST_s
*
rrc
);
void
cucp_cuup_message_transfer_e1ap_init
(
struct
gNB_RRC_INST_s
*
rrc
);
void
CU_create_UP_DL_tunnel
(
struct
e1ap_bearer_setup_resp_s
*
resp
,
struct
e1ap_bearer_setup_req_s
*
req
,
void
fill_e1ap_bearer_setup_resp
(
struct
e1ap_bearer_setup_resp_s
*
resp
,
struct
e1ap_bearer_setup_req_s
*
const
req
,
instance_t
gtpInst
,
ue_id_t
ue_id
,
int
remote_port
,
in_addr_t
my_addr
);
void
CU_update_UP_DL_tunnel
(
struct
e1ap_bearer_setup_req_s
*
req
,
instance_t
instance
,
ue_id_t
ue_id
);
void
CU_update_UP_DL_tunnel
(
struct
e1ap_bearer_setup_req_s
*
const
req
,
instance_t
instance
,
ue_id_t
ue_id
);
#endif
openair2/RRC/NR/nr_rrc_defs.h
View file @
3e8899fc
...
...
@@ -478,8 +478,8 @@ typedef struct nr_mac_rrc_dl_if_s {
}
nr_mac_rrc_dl_if_t
;
typedef
struct
cucp_cuup_if_s
{
cucp_cuup_bearer_context_setup_func_t
cucp_cuup_
bearer_context_setup
;
cucp_cuup_bearer_context_setup_func_t
cucp_cuup_
bearer_context_mod
;
cucp_cuup_bearer_context_setup_func_t
bearer_context_setup
;
cucp_cuup_bearer_context_setup_func_t
bearer_context_mod
;
}
cucp_cuup_if_t
;
//---NR---(completely change)---------------------
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
3e8899fc
...
...
@@ -756,19 +756,15 @@ void fill_DRB_configList(const protocol_ctxt_t *const ctxt_pP,
gNB_RRC_UE_t
*
ue_p
=
&
ue_context_pP
->
ue_context
;
NR_DRB_ToAddModList_t
**
DRB_configList
=
NULL
;
NR_DRB_ToAddModList_t
**
DRB_configList2
=
NULL
;
NR_SRB_ToAddModList_t
*
SRB_configList
=
ue_context_pP
->
ue_context
.
SRB_configList
;
int
qos_flow_index
=
0
;
int
pdu_sessions_done
=
0
;
int
i
;
uint8_t
drb_id_to_setup_start
=
0
;
uint8_t
nb_drb_to_setup
=
rrc
->
configuration
.
drbs
;
long
drb_priority
[
NGAP_MAX_DRBS_PER_UE
];
NR_CellGroupConfig_t
*
cellGroupConfig
=
NULL
;
uint8_t
xid
=
rrc_gNB_get_next_transaction_identifier
(
ctxt_pP
->
module_id
);
NR_SRB_ToAddModList_t
**
SRB_configList2
=
generateSRB2_confList
(
ue_p
,
SRB_configList
,
xid
);
DRB_configList
=
&
ue_context_pP
->
ue_context
.
DRB_configList
;
if
(
*
DRB_configList
)
{
free
(
*
DRB_configList
);
...
...
@@ -881,6 +877,7 @@ void fill_DRB_configList(const protocol_ctxt_t *const ctxt_pP,
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList
)
->
list
,
DRB_config
);
ASN_SEQUENCE_ADD
(
&
(
*
DRB_configList2
)
->
list
,
DRB_config
);
}
LOG_D
(
RRC
,
"DRB Priority %ld
\n
"
,
drb_priority
[
drb_id
]);
// To supress warning for now
}
}
...
...
@@ -3540,7 +3537,7 @@ static void rrc_CU_process_ue_context_modification_response(MessageDef *msg_p, c
}
// send the F1 response message up to update F1-U tunnel info
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_mod
(
&
req
,
instance
);
rrc
->
cucp_cuup
.
bearer_context_mod
(
&
req
,
instance
);
NR_CellGroupConfig_t
*
cellGroupConfig
=
NULL
;
...
...
openair2/RRC/NR/rrc_gNB_NGAP.c
View file @
3e8899fc
...
...
@@ -1070,7 +1070,7 @@ rrc_gNB_process_NGAP_PDUSESSION_SETUP_REQ(
}
}
rrc
->
cucp_cuup
.
cucp_cuup_
bearer_context_setup
(
&
bearer_req
,
instance
);
rrc
->
cucp_cuup
.
bearer_context_setup
(
&
bearer_req
,
instance
);
return
;
}
...
...
FANG WANG
@wf
mentioned in commit
553f1d1a
·
Feb 11, 2023
mentioned in commit
553f1d1a
mentioned in commit 553f1d1a52845911be4ba61ec2bcc5c60ad42ae7
Toggle commit list
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