Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
ae74cd25
Commit
ae74cd25
authored
Oct 25, 2019
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ENDC X2AP: Corrections on the generation of x2_sGNB_AdditionRequest message
parent
dc01524d
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
21 deletions
+30
-21
openair2/X2AP/x2ap_eNB_decoder.c
openair2/X2AP/x2ap_eNB_decoder.c
+5
-2
openair2/X2AP/x2ap_eNB_encoder.c
openair2/X2AP/x2ap_eNB_encoder.c
+2
-2
openair2/X2AP/x2ap_eNB_generate_messages.c
openair2/X2AP/x2ap_eNB_generate_messages.c
+21
-15
openair2/X2AP/x2ap_eNB_handler.c
openair2/X2AP/x2ap_eNB_handler.c
+2
-2
No files found.
openair2/X2AP/x2ap_eNB_decoder.c
View file @
ae74cd25
...
...
@@ -62,6 +62,9 @@ static int x2ap_eNB_decode_initiating_message(X2AP_X2AP_PDU_t *pdu)
case
X2AP_ProcedureCode_id_endcX2Setup
:
X2AP_INFO
(
"X2AP_ProcedureCode_id_endcX2Setup message!
\n
"
);
break
;
case
X2AP_ProcedureCode_id_sgNBAdditionPreparation
:
X2AP_INFO
(
"X2AP_ProcedureCode_id_sgNBAdditionPreparation message!
\n
"
);
break
;
default:
X2AP_ERROR
(
"Unknown procedure ID (%d) for initiating message
\n
"
,
...
...
openair2/X2AP/x2ap_eNB_encoder.c
View file @
ae74cd25
...
...
@@ -44,9 +44,9 @@ int x2ap_eNB_encode_pdu(X2AP_X2AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len)
DevAssert
(
buffer
!=
NULL
);
DevAssert
(
len
!=
NULL
);
if
(
asn1_xer_print
)
{
//
if (asn1_xer_print) {
xer_fprint
(
stdout
,
&
asn_DEF_X2AP_X2AP_PDU
,
(
void
*
)
pdu
);
}
//
}
encoded
=
aper_encode_to_new_buffer
(
&
asn_DEF_X2AP_X2AP_PDU
,
0
,
pdu
,
(
void
**
)
buffer
);
...
...
openair2/X2AP/x2ap_eNB_generate_messages.c
View file @
ae74cd25
...
...
@@ -1513,17 +1513,15 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
uint16_t
nRencryptionAlgorithms
=
0
;
uint16_t
nRintegrityProtectionAlgorithms
=
0
;
uint8_t
SgNBSecurityKey
[
32
]
=
{
0
};
int
uEaggregateMaximumBitRateDownlink
=
10
^
8
;
int
uEaggregateMaximumBitRateUplink
=
10
^
8
;
int
uEaggregateMaximumBitRateDownlink
=
100000000
;
int
uEaggregateMaximumBitRateUplink
=
100000000
;
int
e_rabs_tobeadded
=
1
;
int
e_RAB_ID
=
1
;
int
drb_ID
=
2
;
long
int
pDCPatSgNB
=
X2AP_EN_DC_ResourceConfiguration__pDCPatSgNB_present
;
long
int
mCGresources
=
X2AP_EN_DC_ResourceConfiguration__mCGresources_present
;
long
int
sCGresources
=
X2AP_EN_DC_ResourceConfiguration__sCGresources_present
;
int
qCI
=
1
;
long
int
mCGresources
=
X2AP_EN_DC_ResourceConfiguration__mCGresources_
not_
present
;
long
int
sCGresources
=
X2AP_EN_DC_ResourceConfiguration__sCGresources_
not_
present
;
long
qCI
=
1
;
X2AP_Pre_emptionCapability_t
pre_emptionCapability
=
X2AP_Pre_emptionCapability_shall_not_trigger_pre_emption
;
X2AP_Pre_emptionVulnerability_t
pre_emptionVulnerability
=
X2AP_Pre_emptionVulnerability_not_pre_emptable
;
e_rab_setup_t
e_MCG_rabs_tobeadded
;
...
...
@@ -1531,11 +1529,9 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
e_MCG_rabs_tobeadded
.
eNB_addr
.
length
=
24
;
uint8_t
buf
[
20
]
=
{
0
};
memcpy
(
e_MCG_rabs_tobeadded
.
eNB_addr
.
buffer
,
buf
,
20
*
sizeof
(
uint8_t
));
OCTET_STRING_t
CG_Config_Info
;
char
buf2
[
4096
]
=
{
0
};
memcpy
(
CG_Config_Info
.
buf
,
buf2
,
4096
);
CG_Config_Info
.
size
=
4096
;
CG_Config_Info
.
buf
=
(
uint8_t
*
)
calloc
(
4096
,
sizeof
(
uint8_t
));
DevAssert
(
instance_p
!=
NULL
);
...
...
@@ -1579,10 +1575,12 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
ie
->
id
=
X2AP_ProtocolIE_ID_id_SgNBUEAggregateMaximumBitRate
;
ie
->
criticality
=
X2AP_Criticality_reject
;
ie
->
value
.
present
=
X2AP_SgNBAdditionRequest_IEs__value_PR_UEAggregateMaximumBitRate
;
INT32_TO_BUFFER
(
uEaggregateMaximumBitRateDownlink
,
&
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateDownlink
.
buf
);
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateDownlink
.
buf
=
(
uint8_t
*
)
calloc
(
4
,
sizeof
(
uint8_t
));
INT32_TO_BUFFER
(
uEaggregateMaximumBitRateDownlink
,
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateDownlink
.
buf
);
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateDownlink
.
size
=
4
;
INT32_TO_BUFFER
(
uEaggregateMaximumBitRateUplink
,
&
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateUplink
.
buf
);
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateUplink
.
buf
=
(
uint8_t
*
)
calloc
(
4
,
sizeof
(
uint8_t
));
INT32_TO_BUFFER
(
uEaggregateMaximumBitRateUplink
,
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateUplink
.
buf
);
ie
->
value
.
choice
.
UEAggregateMaximumBitRate
.
uEaggregateMaximumBitRateUplink
.
size
=
4
;
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
...
...
@@ -1595,9 +1593,9 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
for
(
int
i
=
0
;
i
<
e_rabs_tobeadded
;
i
++
)
{
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
=
(
X2AP_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
X2AP_E_RABs_ToBeAdded_SgNBAddReq_ItemIEs_t
));
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
id
=
X2AP_ProtocolIE_ID_id_E_RABs_
Admitted_ToBeAdded
_Item
;
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
id
=
X2AP_ProtocolIE_ID_id_E_RABs_
ToBeAdded_SgNBAddReq
_Item
;
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
criticality
=
X2AP_Criticality_ignore
;
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
value
.
present
=
X2AP_E_RABs_
Admitted_ToBeAdded_ItemIEs__value_PR_E_RABs_Admitted_ToBeAdded
_Item
;
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
value
.
present
=
X2AP_E_RABs_
ToBeAdded_SgNBAddReq_ItemIEs__value_PR_E_RABs_ToBeAdded_SgNBAddReq
_Item
;
e_RABS_ToBeAdded_SgNBAddReq_Item
=
&
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
->
value
.
choice
.
E_RABs_ToBeAdded_SgNBAddReq_Item
;
{
e_RABS_ToBeAdded_SgNBAddReq_Item
->
drb_ID
=
drb_ID
;
...
...
@@ -1606,6 +1604,8 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
e_RABS_ToBeAdded_SgNBAddReq_Item
->
en_DC_ResourceConfiguration
.
mCGresources
=
mCGresources
;
e_RABS_ToBeAdded_SgNBAddReq_Item
->
en_DC_ResourceConfiguration
.
sCGresources
=
sCGresources
;
if
(
pDCPatSgNB
==
X2AP_EN_DC_ResourceConfiguration__pDCPatSgNB_present
){
e_RABS_ToBeAdded_SgNBAddReq_Item
->
resource_configuration
.
present
=
X2AP_E_RABs_ToBeAdded_SgNBAddReq_Item__resource_configuration_PR_sgNBPDCPpresent
;
e_RABS_ToBeAdded_SgNBAddReq_Item
->
resource_configuration
.
choice
.
sgNBPDCPpresent
.
full_E_RAB_Level_QoS_Parameters
.
qCI
=
qCI
;
e_RABS_ToBeAdded_SgNBAddReq_Item
->
resource_configuration
.
choice
.
sgNBPDCPpresent
.
full_E_RAB_Level_QoS_Parameters
.
allocationAndRetentionPriority
.
pre_emptionCapability
=
pre_emptionCapability
;
e_RABS_ToBeAdded_SgNBAddReq_Item
->
resource_configuration
.
choice
.
sgNBPDCPpresent
.
full_E_RAB_Level_QoS_Parameters
.
allocationAndRetentionPriority
.
pre_emptionVulnerability
=
pre_emptionVulnerability
;
...
...
@@ -1625,13 +1625,19 @@ int x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(
}
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
E_RABs_ToBeAdded_SgNBAddReqList
.
list
,
e_RABS_ToBeAdded_SgNBAddReq_ItemIEs
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
ie
=
(
X2AP_SgNBAdditionRequest_IEs_t
*
)
calloc
(
1
,
sizeof
(
X2AP_SgNBAdditionRequest_IEs_t
));
ie
->
id
=
X2AP_ProtocolIE_ID_id_MeNBtoSgNBContainer
;
ie
->
criticality
=
X2AP_Criticality_reject
;
ie
->
value
.
present
=
X2AP_SgNBAdditionRequest_IEs__value_PR_MeNBtoSgNBContainer
;
ie
->
value
.
choice
.
MeNBtoSgNBContainer
.
buf
=
(
uint8_t
*
)
calloc
(
4096
,
sizeof
(
uint8_t
));
memcpy
(
ie
->
value
.
choice
.
MeNBtoSgNBContainer
.
buf
,
CG_Config_Info
.
buf
,
CG_Config_Info
.
size
);
ie
->
value
.
choice
.
MeNBtoSgNBContainer
.
size
=
4096
;
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
if
(
x2ap_eNB_encode_pdu
(
&
pdu
,
&
buffer
,
&
len
)
<
0
)
{
X2AP_ERROR
(
"Failed to encode ENDC X2
setup respons
e
\n
"
);
X2AP_ERROR
(
"Failed to encode ENDC X2
SgNB_addition request messag
e
\n
"
);
return
-
1
;
}
...
...
openair2/X2AP/x2ap_eNB_handler.c
View file @
ae74cd25
...
...
@@ -1470,9 +1470,9 @@ x2ap_eNB_handle_ENDC_x2_setup_request(instance_t instance,
instance_p
=
x2ap_eNB_get_instance
(
instance
);
DevAssert
(
instance_p
!=
NULL
);
// Panos: Here we should be calling an ENDC specific setup response function
return
x2ap_eNB_generate_ENDC_x2_setup_response
(
instance_p
,
x2ap_eNB_data
);
//return x2ap_eNB_generate_x2_setup_response(instance_p, x2ap_eNB_data);
//return x2ap_eNB_generate_ENDC_x2_SgNB_addition_request(instance_p, x2ap_eNB_data,0);
}
int
...
...
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