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
lizhongxiao
OpenXG-RAN
Commits
4e393ef9
Commit
4e393ef9
authored
Aug 30, 2022
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GTP init with only local address
IP traffic works both directions in Mono, F1 and E1
parent
ec3bde2c
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
45 deletions
+28
-45
ci-scripts/conf_files/gNB_SA_CU_cp.conf
ci-scripts/conf_files/gNB_SA_CU_cp.conf
+4
-4
ci-scripts/conf_files/gNB_SA_CU_up.conf
ci-scripts/conf_files/gNB_SA_CU_up.conf
+4
-4
openair2/F1AP/f1ap_cu_ue_context_management.c
openair2/F1AP/f1ap_cu_ue_context_management.c
+0
-23
openair2/F1AP/f1ap_du_task.c
openair2/F1AP/f1ap_du_task.c
+0
-2
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+20
-12
No files found.
ci-scripts/conf_files/gNB_SA_CU_cp.conf
View file @
4e393ef9
...
...
@@ -198,10 +198,10 @@ gNBs =
(
{
type
=
"cp"
;
ipv4_cucp
=
"127.0.0.
100
"
;
port_cucp
=
2
5
;
ipv4_cuup
=
"127.0.0.
101
"
;
port_cuup
=
2
5
;
ipv4_cucp
=
"127.0.0.
4
"
;
port_cucp
=
2
152
;
ipv4_cuup
=
"127.0.0.
5
"
;
port_cuup
=
2
152
;
}
)
...
...
ci-scripts/conf_files/gNB_SA_CU_up.conf
View file @
4e393ef9
...
...
@@ -197,10 +197,10 @@ gNBs =
(
{
type
=
"up"
;
ipv4_cucp
=
"127.0.0.
100
"
;
port_cucp
=
2
5
;
ipv4_cuup
=
"127.0.0.
101
"
;
port_cuup
=
2
5
;
ipv4_cucp
=
"127.0.0.
4
"
;
port_cucp
=
2
152
;
ipv4_cuup
=
"127.0.0.
5
"
;
port_cuup
=
2
152
;
}
)
...
...
openair2/F1AP/f1ap_cu_ue_context_management.c
View file @
4e393ef9
...
...
@@ -511,20 +511,6 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
/* 12.1.3 uLUPTNLInformation_ToBeSetup_List */
for
(
int
j
=
0
;
j
<
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_ul_tnl_length
;
j
++
)
{
/*Use a dummy teid for the outgoing GTP-U tunnel (DU) which will be updated once we get the UE context setup response from the DU*/
transport_layer_addr_t
addr
;
int
sz
=
sizeof
(
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_dl_tnl
[
0
].
tl_address
);
memcpy
(
addr
.
buffer
,
&
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_dl_tnl
[
0
].
tl_address
,
sz
);
addr
.
length
=
sz
*
8
;
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_ul_tnl
[
j
].
teid
=
newGtpuCreateTunnel
(
getCxt
(
CUtype
,
instance
)
->
gtpInst
,
f1ap_ue_context_setup_req
->
rnti
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
drb_id
,
0xFFFF
,
// We will set the right value from DU answer
-
1
,
// no qfi
addr
,
f1ap_ue_context_setup_req
->
drbs_to_be_setup
[
i
].
up_dl_tnl
[
0
].
port
,
cu_f1u_data_req
,
NULL
);
/* 12.3.1 ULTunnels_ToBeSetup_Item */
asn1cSequenceAdd
(
drbs_toBeSetup_item
->
uLUPTNLInformation_ToBeSetup_List
.
list
,
F1AP_ULUPTNLInformation_ToBeSetup_Item_t
,
uLUPTNLInformation_ToBeSetup_Item
);
...
...
@@ -700,15 +686,6 @@ int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance,
F1AP_GTPTunnel_t
*
dl_up_tnl0
=
dl_up_tnl_info_p
->
dLUPTNLInformation
.
choice
.
gTPTunnel
;
BIT_STRING_TO_TRANSPORT_LAYER_ADDRESS_IPv4
(
&
dl_up_tnl0
->
transportLayerAddress
,
drb_p
->
up_dl_tnl
[
0
].
tl_address
);
OCTET_STRING_TO_INT32
(
&
dl_up_tnl0
->
gTP_TEID
,
drb_p
->
up_dl_tnl
[
0
].
teid
);
transport_layer_addr_t
addr
;
int
sz
=
sizeof
(
drb_p
->
up_dl_tnl
[
0
].
tl_address
);
memcpy
(
addr
.
buffer
,
&
drb_p
->
up_dl_tnl
[
0
].
tl_address
,
sz
);
addr
.
length
=
sz
*
8
;
GtpuUpdateTunnelOutgoingPair
(
getCxt
(
CUtype
,
instance
)
->
gtpInst
,
f1ap_ue_context_setup_resp
->
rnti
,
(
ebi_t
)
drbs_setup_item_p
->
dRBID
,
drb_p
->
up_dl_tnl
[
0
].
teid
,
addr
);
}
}
...
...
openair2/F1AP/f1ap_du_task.c
View file @
4e393ef9
...
...
@@ -99,9 +99,7 @@ void du_task_handle_sctp_data_ind(instance_t instance, sctp_data_ind_t *sctp_dat
static
instance_t
du_create_gtpu_instance_to_cu
(
char
*
CUaddr
,
uint16_t
CUport
,
char
*
DUaddr
,
uint16_t
DUport
)
{
openAddr_t
tmp
=
{
0
};
strncpy
(
tmp
.
originHost
,
DUaddr
,
sizeof
(
tmp
.
originHost
)
-
1
);
strncpy
(
tmp
.
destinationHost
,
CUaddr
,
sizeof
(
tmp
.
destinationHost
)
-
1
);
sprintf
(
tmp
.
originService
,
"%d"
,
DUport
);
sprintf
(
tmp
.
destinationService
,
"%d"
,
CUport
);
return
gtpv1Init
(
tmp
);
}
...
...
openair2/GNB_APP/gnb_config.c
View file @
4e393ef9
...
...
@@ -1250,8 +1250,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
config_security
(
rrc
);
}
//End RCconfig_NRRRC function
instance_t
RCconfig_nr_gtpu
(
void
)
{
static
int
get_NGU_S1U_addr
(
char
*
addr
,
int
*
port
)
{
int
num_gnbs
=
0
;
char
*
gnb_ipv4_address_for_NGU
=
NULL
;
uint32_t
gnb_port_for_NGU
=
0
;
...
...
@@ -1272,19 +1271,28 @@ instance_t RCconfig_nr_gtpu(void) {
sprintf
(
gtpupath
,
"%s.[%i].%s"
,
GNB_CONFIG_STRING_GNB_LIST
,
0
,
GNB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG
);
config_get
(
NETParams
,
sizeof
(
NETParams
)
/
sizeof
(
paramdef_t
),
gtpupath
);
char
*
cidr
=
NULL
,
*
address
=
NULL
;
int
port
;
instance_t
ret_inst
;
if
(
NETParams
[
1
].
strptr
!=
NULL
)
{
LOG_I
(
GTPU
,
"SA mode
\n
"
);
address
=
strtok_r
(
gnb_ipv4_address_for_NGU
,
"/"
,
&
cidr
);
port
=
gnb_port_for_NGU
;
*
port
=
gnb_port_for_NGU
;
}
else
{
LOG_I
(
GTPU
,
"NSA mode
\n
"
);
address
=
strtok_r
(
gnb_ipv4_address_for_S1U
,
"/"
,
&
cidr
);
port
=
gnb_port_for_S1U
;
*
port
=
gnb_port_for_S1U
;
}
if
(
address
==
NULL
)
return
1
;
else
{
strcpy
(
addr
,
address
);
return
0
;
}
}
if
(
address
)
{
instance_t
RCconfig_nr_gtpu
(
void
)
{
char
address
[
160
];
int
port
;
int
ret
=
get_NGU_S1U_addr
(
address
,
&
port
);
instance_t
ret_inst
;
if
(
!
ret
)
{
eth_params_t
IPaddr
;
IPaddr
.
my_addr
=
address
;
IPaddr
.
my_portd
=
port
;
...
...
@@ -1840,14 +1848,14 @@ int RCconfig_NR_CU_E1(MessageDef *msg_p, uint32_t i) {
strcpy
(
e1Setup
->
CUUP_e1_ip_address
.
ipv4_address
,
*
(
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_IPV4_ADDRESS_CUUP
].
strptr
));
e1Setup
->
CUUP_e1_ip_address
.
ipv4
=
1
;
e1Setup
->
port_cuup
=
*
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_PORT_CUUP
].
uptr
;
if
(
!
strcmp
(
*
(
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_CU_TYPE_IDX
].
strptr
),
"up"
))
{
char
N3Addr
[
160
];
int
N3Port
;
if
(
!
get_NGU_S1U_addr
(
N3Addr
,
&
N3Port
))
{;
inet_pton
(
AF_INET
,
*
(
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_IPV4_ADDRESS_N3
].
strptr
)
,
N3Addr
,
&
e1Setup
->
IPv4AddressN3
);
e1Setup
->
portN3
=
*
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_PORT_N3
].
uptr
;
e1Setup
->
portN3
=
N3Port
;
}
e1Setup
->
cn_support
=
*
GNBE1ParamList
.
paramarray
[
0
][
GNB_CONFIG_E1_CN_SUPPORT
].
uptr
;
}
...
...
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