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
常顺宇
OpenXG-RAN
Commits
d64bc67b
Commit
d64bc67b
authored
4 years ago
by
matzakos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add TDD configuration in ENDC X2 setup response message sent from eNB
parent
4f57de4e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
90 additions
and
4 deletions
+90
-4
openair2/X2AP/x2ap_eNB_generate_messages.c
openair2/X2AP/x2ap_eNB_generate_messages.c
+90
-4
No files found.
openair2/X2AP/x2ap_eNB_generate_messages.c
View file @
d64bc67b
...
...
@@ -1438,7 +1438,7 @@ int x2ap_eNB_generate_ENDC_x2_setup_response(
}
if
(
instance_p
->
frame_type
[
i
]
==
FDD
)
{
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
present
=
X2AP_EUTRA_Mode_Info_PR_fDD
;
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
present
=
X2AP_EUTRA_Mode_Info_PR_fDD
;
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
fDD
.
dL_EARFCN
=
instance_p
->
fdd_earfcn_DL
[
i
];
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
fDD
.
uL_EARFCN
=
instance_p
->
fdd_earfcn_UL
[
i
];
switch
(
instance_p
->
N_RB_DL
[
i
])
{
...
...
@@ -1472,12 +1472,98 @@ int x2ap_eNB_generate_ENDC_x2_setup_response(
}
}
else
{
AssertFatal
(
0
,
"X2Setupresponse not supported for TDD!"
);
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
present
=
X2AP_EUTRA_Mode_Info_PR_tDD
;
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
eARFCN
=
instance_p
->
fdd_earfcn_DL
[
i
];
switch
(
instance_p
->
subframeAssignment
[
i
])
{
case
0
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa0
;
break
;
case
1
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa1
;
break
;
case
2
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa2
;
break
;
case
3
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa3
;
break
;
case
4
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa4
;
break
;
case
5
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa5
;
break
;
case
6
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
subframeAssignment
=
X2AP_SubframeAssignment_sa6
;
break
;
default:
AssertFatal
(
0
,
"Failed: Check value for subframeAssignment"
);
break
;
}
switch
(
instance_p
->
specialSubframe
[
i
])
{
case
0
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp0
;
break
;
case
1
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp1
;
break
;
case
2
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp2
;
break
;
case
3
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp3
;
break
;
case
4
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp4
;
break
;
case
5
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp5
;
break
;
case
6
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp6
;
break
;
case
7
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp7
;
break
;
case
8
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
specialSubframePatterns
=
X2AP_SpecialSubframePatterns_ssp8
;
break
;
default:
AssertFatal
(
0
,
"Failed: Check value for subframeAssignment"
);
break
;
}
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
cyclicPrefixDL
=
X2AP_CyclicPrefixDL_normal
;
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
specialSubframe_Info
.
cyclicPrefixUL
=
X2AP_CyclicPrefixUL_normal
;
switch
(
instance_p
->
N_RB_DL
[
i
])
{
case
6
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw6
;
break
;
case
15
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw15
;
break
;
case
25
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw25
;
break
;
case
50
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw50
;
break
;
case
75
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw75
;
break
;
case
100
:
servedCellMember
->
servedEUTRACellInfo
.
eUTRA_Mode_Info
.
choice
.
tDD
.
transmission_Bandwidth
=
X2AP_Transmission_Bandwidth_bw100
;
break
;
default:
AssertFatal
(
0
,
"Failed: Check value for N_RB_DL/N_RB_UL"
);
break
;
}
}
}
ASN_SEQUENCE_ADD
(
&
ie_ENB_ENDC
->
value
.
choice
.
ServedEUTRAcellsENDCX2ManagementList
.
list
,
servedCellMember
);
ASN_SEQUENCE_ADD
(
&
ie_ENB_ENDC
->
value
.
choice
.
ServedEUTRAcellsENDCX2ManagementList
.
list
,
servedCellMember
);
}
}
}
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
RespondingNodeType_EndcX2Setup
.
choice
.
respond_eNB
.
list
,
ie_ENB_ENDC
);
...
...
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