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
spbro
OpenXG-RAN
Commits
8670269d
Commit
8670269d
authored
4 years ago
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove hardcodings of eutra and nr bands in UE Capability Enquiry messages
parent
05f49e5b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
12 deletions
+75
-12
openair2/RRC/LTE/MESSAGES/asn1_msg.c
openair2/RRC/LTE/MESSAGES/asn1_msg.c
+61
-6
openair2/RRC/LTE/MESSAGES/asn1_msg.h
openair2/RRC/LTE/MESSAGES/asn1_msg.h
+6
-4
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+8
-2
No files found.
openair2/RRC/LTE/MESSAGES/asn1_msg.c
View file @
8670269d
...
...
@@ -99,6 +99,7 @@
#include "intertask_interface.h"
#include "NR_FreqBandList.h"
#include "common/ran_context.h"
...
...
@@ -3199,9 +3200,13 @@ uint8_t do_SecurityModeCommand(
//------------------------------------------------------------------------------
uint8_t
do_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
)
const
uint8_t
Transaction_id
,
int16_t
eutra_band
,
uint32_t
nr_band
)
//------------------------------------------------------------------------------
{
NR_FreqBandList_t
*
nsa_band_list
;
NR_FreqBandInformation_t
*
nsa_band
;
LTE_DL_DCCH_Message_t
dl_dcch_msg
;
LTE_RAT_Type_t
rat
=
LTE_RAT_Type_eutra
;
asn_enc_rval_t
enc_rval
;
...
...
@@ -3238,8 +3243,32 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
/* TODO: no hardcoded values here */
nsa_band_list
=
(
NR_FreqBandList_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandList_t
));
nsa_band
=
(
NR_FreqBandInformation_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandInformation_t
));
nsa_band
->
present
=
NR_FreqBandInformation_PR_bandInformationEUTRA
;
nsa_band
->
choice
.
bandInformationEUTRA
->
bandEUTRA
=
eutra_band
;
ASN_SEQUENCE_ADD
(
&
nsa_band_list
->
list
,
nsa_band
);
nsa_band
=
(
NR_FreqBandInformation_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandInformation_t
));
nsa_band
->
present
=
NR_FreqBandInformation_PR_bandInformationNR
;
if
(
nr_band
>
0
)
nsa_band
->
choice
.
bandInformationNR
->
bandNR
=
nr_band
;
else
nsa_band
->
choice
.
bandInformationNR
->
bandNR
=
78
;
ASN_SEQUENCE_ADD
(
&
nsa_band_list
->
list
,
nsa_band
);
OCTET_STRING_t
req_freq
;
unsigned
char
req_freq_buf
[
5
]
=
{
0x00
,
0x20
,
0x1a
,
0x02
,
0x68
};
// bands 7 & nr78
//unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x02, 0x68 }; // bands 7 & nr78
unsigned
char
req_freq_buf
[
100
];
enc_rval
=
uper_encode_to_buffer
(
&
asn_DEF_NR_FreqBandList
,
NULL
,
(
void
*
)
nsa_band_list
,
req_freq_buf
,
1024
);
//unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x08, 0x18 }; // bands 7 & nr260
//unsigned char req_freq_buf[13] = { 0x00, 0xc0, 0x18, 0x01, 0x01, 0x30, 0x4b, 0x04, 0x0e, 0x08, 0x24, 0x04, 0xd0 };
...
...
@@ -3248,7 +3277,7 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
// };
req_freq
.
buf
=
req_freq_buf
;
req_freq
.
size
=
5
;
req_freq
.
size
=
(
enc_rval
.
encoded
+
7
)
/
8
;
// req_freq.size = 21;
r15_10
.
requestedFreqBandsNR_MRDC_r15
=
&
req_freq
;
...
...
@@ -3287,9 +3316,13 @@ uint8_t do_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
//------------------------------------------------------------------------------
uint8_t
do_NR_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
)
const
uint8_t
Transaction_id
,
int16_t
eutra_band
,
uint32_t
nr_band
)
//------------------------------------------------------------------------------
{
NR_FreqBandList_t
*
nsa_band_list
;
NR_FreqBandInformation_t
*
nsa_band
;
LTE_DL_DCCH_Message_t
dl_dcch_msg
;
LTE_RAT_Type_t
rat_nr
=
LTE_RAT_Type_nr
;
LTE_RAT_Type_t
rat_eutra_nr
=
LTE_RAT_Type_eutra_nr
;
...
...
@@ -3329,8 +3362,30 @@ uint8_t do_NR_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
/* TODO: no hardcoded values here */
nsa_band_list
=
(
NR_FreqBandList_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandList_t
));
nsa_band
=
(
NR_FreqBandInformation_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandInformation_t
));
nsa_band
->
present
=
NR_FreqBandInformation_PR_bandInformationEUTRA
;
nsa_band
->
choice
.
bandInformationEUTRA
->
bandEUTRA
=
eutra_band
;
ASN_SEQUENCE_ADD
(
&
nsa_band_list
->
list
,
nsa_band
);
nsa_band
=
(
NR_FreqBandInformation_t
*
)
calloc
(
1
,
sizeof
(
NR_FreqBandInformation_t
));
nsa_band
->
present
=
NR_FreqBandInformation_PR_bandInformationNR
;
if
(
nr_band
>
0
)
nsa_band
->
choice
.
bandInformationNR
->
bandNR
=
nr_band
;
else
nsa_band
->
choice
.
bandInformationNR
->
bandNR
=
78
;
ASN_SEQUENCE_ADD
(
&
nsa_band_list
->
list
,
nsa_band
);
OCTET_STRING_t
req_freq
;
unsigned
char
req_freq_buf
[
5
]
=
{
0x00
,
0x20
,
0x1a
,
0x02
,
0x68
};
// bands 7 & nr78
//unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x02, 0x68 }; // bands 7 & nr78
unsigned
char
req_freq_buf
[
100
];
enc_rval
=
uper_encode_to_buffer
(
&
asn_DEF_NR_FreqBandList
,
NULL
,
(
void
*
)
nsa_band_list
,
req_freq_buf
,
1024
);
//unsigned char req_freq_buf[5] = { 0x00, 0x20, 0x1a, 0x08, 0x18 }; // bands 7 & nr260
//unsigned char req_freq_buf[13] = { 0x00, 0xc0, 0x18, 0x01, 0x01, 0x30, 0x4b, 0x04, 0x0e, 0x08, 0x24, 0x04, 0xd0 };
...
...
@@ -3339,7 +3394,7 @@ uint8_t do_NR_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
// };
req_freq
.
buf
=
req_freq_buf
;
req_freq
.
size
=
5
;
req_freq
.
size
=
(
enc_rval
.
encoded
+
7
)
/
8
;
// req_freq.size = 21;
r15_10
.
requestedFreqBandsNR_MRDC_r15
=
&
req_freq
;
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/MESSAGES/asn1_msg.h
View file @
8670269d
...
...
@@ -359,15 +359,17 @@ uint8_t
do_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
);
const
uint8_t
Transaction_id
,
int16_t
eutra_band
,
uint32_t
nr_band
);
uint8_t
do_NR_UECapabilityEnquiry
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
*
const
buffer
,
const
uint8_t
Transaction_id
);
const
uint8_t
Transaction_id
,
int16_t
eutra_band
,
uint32_t
nr_band
);
uint8_t
do_SecurityModeCommand
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_eNB.c
View file @
8670269d
...
...
@@ -1284,7 +1284,9 @@ rrc_eNB_generate_UECapabilityEnquiry(
size = do_UECapabilityEnquiry(
ctxt_pP,
buffer,
rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id));
rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),
eutra_band,
nr_band);
LOG_I(RRC,
PROTOCOL_RRC_CTXT_UE_FMT" Logical Channel DL-DCCH, Generate UECapabilityEnquiry (bytes %d)\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
...
...
@@ -1327,10 +1329,14 @@ rrc_eNB_generate_NR_UECapabilityEnquiry(
uint8_t size;
T(T_ENB_RRC_UE_CAPABILITY_ENQUIRY, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
int16_t eutra_band = RC.rrc[ctxt_pP->module_id]->configuration.eutra_band[0];
uint32_t nr_band = RC.rrc[ctxt_pP->module_id]->nr_neigh_freq_band[0][0];
size = do_NR_UECapabilityEnquiry(
ctxt_pP,
buffer,
rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id));
rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),
eutra_band,
nr_band);
LOG_I(RRC,
PROTOCOL_RRC_CTXT_UE_FMT" Logical Channel DL-DCCH, Generate NR UECapabilityEnquiry (bytes %d)\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
...
...
This diff is collapsed.
Click to expand it.
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