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
zzha zzha
OpenXG-RAN
Commits
a0289d74
Commit
a0289d74
authored
Feb 09, 2016
by
Xenofon Foukas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for eNB, cell, UE and logical channel configuration messages to the progRAN protocol
parent
bb874258
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
315 additions
and
3 deletions
+315
-3
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+4
-0
openair2/ENB_APP/MESSAGES/V2/config_common.proto
openair2/ENB_APP/MESSAGES/V2/config_common.proto
+174
-0
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
+88
-0
openair2/ENB_APP/MESSAGES/V2/header.proto
openair2/ENB_APP/MESSAGES/V2/header.proto
+10
-2
openair2/ENB_APP/MESSAGES/V2/progran.proto
openair2/ENB_APP/MESSAGES/V2/progran.proto
+39
-1
No files found.
cmake_targets/CMakeLists.txt
View file @
a0289d74
...
...
@@ -713,6 +713,8 @@ if (ENB_AGENT_SB_IF)
${
PRPT_MSG_DIR
}
/time_common.proto
${
PRPT_MSG_DIR
}
/controller_commands.proto
${
PRPT_MSG_DIR
}
/mac_primitives.proto
${
PRPT_MSG_DIR
}
/config_messages.proto
${
PRPT_MSG_DIR
}
/config_common.proto
)
set
(
PRPT_C_DIR
${
protobuf_generated_dir
}
/
${
PRPTDIR
}
)
...
...
@@ -727,6 +729,8 @@ if (ENB_AGENT_SB_IF)
${
PRPT_C_DIR
}
/time_common.pb-c.c
${
PRPT_C_DIR
}
/controller_commands.pb-c.c
${
PRPT_C_DIR
}
/mac_primitives.pb-c.c
${
PRPT_C_DIR
}
/config_messages.pb-c.c
${
PRPT_C_DIR
}
/config_common.pb-c.c
)
file
(
GLOB prpt_h
${
PRPT_C_DIR
}
/*.h
)
...
...
openair2/ENB_APP/MESSAGES/V2/config_common.proto
0 → 100644
View file @
a0289d74
//'syntax = "proto2";'
package
protocol
;
//
// Cell config related structures and enums
//
message
prp_si_config
{
optional
uint32
sfn
=
1
;
optional
uint32
sib1_length
=
2
;
// The length of SIB1 in bytes
optional
uint32
si_window_length
=
3
;
// The scheduling window for all SIs in SF
repeated
prp_si_message
si_message
=
4
;
// List of SI messages to be sent.
// The index identifies the type of an SI message
// 0 - SIB1
// 1..31 - SIx
// 32..63 - PCCH
}
message
prp_si_message
{
optional
uint32
periodicity
=
1
;
// Periodicity of SI msg in radio frames
optional
uint32
length
=
2
;
// The length of the SI message in bytes
}
enum
prp_hopping_mode
{
PRHM_INTER
=
0
;
PRHM_INTERINTRA
=
1
;
}
enum
prp_phich_resource
{
PRPR_ONE_SIXTH
=
0
;
PRPR_HALF
=
1
;
PRPR_ONE
=
2
;
PRPR_TWO
=
3
;
}
enum
prp_phich_duration
{
PRPD_NORMAL
=
0
;
PRPD_EXTENDED
=
1
;
}
enum
prp_ul_cyclic_prefix_length
{
PRUCPL_NORMAL
=
0
;
PRUCPL_EXTENDED
=
1
;
}
enum
prp_dl_cyclic_prefix_length
{
PRDCPL_NORMAL
=
0
;
PRDCPL_EXTENDED
=
1
;
}
enum
prp_duplex_mode
{
PRDM_TDD
=
0
;
PRDM_FDD
=
1
;
}
enum
prp_qam
{
PREQ_MOD_16QAM
=
0
;
PREQ_MOD_64QAM
=
1
;
}
//
// UE config related structures and enums
//
message
prp_drx_config
{
optional
uint32
on_duration_timer
=
1
;
// Timer in SF. See TS 36.321
optional
uint32
drx_inactivity_timer
=
2
;
// Timer in SF. See TS 36.321
optional
uint32
drx_retransmission_timer
=
3
;
// Timer in SF. See TS 36.321
optional
uint32
long_drx_cycle
=
4
;
// In SF. See TS 36.321
optional
uint32
long_drx_cycle_start_offset
=
5
;
// See TS 36.321
optional
uint32
short_drx_cycle
=
6
;
// In SF
optional
uint32
drx_short_cycle_timer
=
7
;
// Timer in subframes. See TS 36.321
}
message
prp_sps_config
{
optional
uint32
semi_persistent_sched_interval_UL
=
1
;
// SPS UL scheduling interval in SF
optional
uint32
semi_persistent_sched_interval_DL
=
2
;
// SPS DL scheduling interval in SF
optional
uint32
num_of_conf_sps_proc
=
3
;
// Number of SPS HARQ processes. See TS 36.321
repeated
uint32
n1_PUCCH_AN_persistent_element
=
4
;
// See TS36.213. Ignored when config is used
// as part of PRPT_SET_UE_CONFIG
optional
uint32
implicit_release_after
=
5
;
// number of empty transmissions before release of SPS
}
message
prp_sr_config
{
optional
uint32
sr_action
=
1
;
// Indicates if SR config should be changed or released
// One of the PRSRA_* enum values
optional
uint32
sched_interval
=
2
;
// SR scheduling interval in SF
optional
uint32
dsr_trans_max
=
3
;
// See TS 36.213
}
message
prp_cqi_config
{
optional
uint32
cqi_action
=
1
;
// Indicats if CQI changed or released.
// One of the PRSRA_* enum values
optional
uint32
cqi_sched_interval
=
2
;
// CQI scheduling interval in SF
optional
uint32
ri_sched_interval
=
3
;
// RI scheduling interval in SF
}
message
prp_ue_capabilities
{
optional
uint32
half_duplex
=
1
;
// Boolean value. Only half duplex support. FDD operation
optional
uint32
intra_SF_hopping
=
2
;
// Support for intra-subframe hopping. Boolean value
optional
uint32
type2_sb_1
=
3
;
// Support for type 2 hopping with n_sb > 1
optional
uint32
ue_category
=
4
;
optional
uint32
res_alloc_type1
=
5
;
// Boolean value. UE support for resource allocation type 1
}
message
prp_scell_config
{
optional
uint32
carrier_index
=
1
;
// Id of the carrier component
optional
uint32
scell_index
=
2
;
// Index of this Scell (RRC SCellIndex)
optional
uint32
use_ccs
=
3
;
// Boolean value. Indicates if cross-carrier scheduling
// is used by this SCell
optional
uint32
sched_cell_index
=
4
;
// Index of the cell responsible for scheduling
// this SCell if cross-carrier scheduling is enabled
optional
uint32
pdsch_start
=
5
;
// Starting OFDM symbol of PDSCH data region for this SCell
}
enum
prp_meas_gap_config_pattern
{
PRMGCP_GP1
=
0
;
PRMGCP_GP2
=
1
;
PRMGCP_OFF
=
2
;
}
enum
prp_setup_release_action
{
PRSRA_SETUP
=
0
;
PRSRA_RELEASE
=
1
;
}
enum
prp_ue_transmission_antenna
{
PRUTA_NONE
=
0
;
PRUTA_OPEN_LOOP
=
1
;
PRUTA_CLOSED_LOOP
=
2
;
}
enum
prp_aperiodic_cqi_report_mode
{
PRACRM_RM12
=
0
;
PRACRM_RM20
=
1
;
PRACRM_RM22
=
2
;
PRACRM_RM30
=
3
;
PRACRM_RM31
=
4
;
PRACRM_NONE
=
5
;
}
enum
prp_tdd_ack_nack_feedback_mode
{
PRTANFM_BUNDLING
=
0
;
PRTANFM_MULTIPLEXING
=
1
;
}
//
// Logical channel config related structures and enums
//
message
prp_lc_config
{
optional
uint32
lcid
=
1
;
// The logical channel id
optional
uint32
lcg
=
2
;
// The logical channel group (0..3) the LC is mapped to
optional
uint32
direction
=
3
;
// The LC direction. One of the PRLCD_* enum values
optional
uint32
qos_bearer_type
=
4
;
// GBR or NGBR bearer. One of the PRQBT_* enum values
optional
uint32
qci
=
5
;
// The QCI defined in TS 23.203, coded as defined in TS 36.413
// One less than the actual QCI value
optional
uint64
e_RAB_max_bitrate_UL
=
6
;
// In bps (GBR only)
optional
uint64
e_RAB_max_bitrate_DL
=
7
;
// In bps (GBR only)
optional
uint64
e_RAB_guaranteed_bitrate_UL
=
8
;
// In bps (GBR only)
optional
uint64
e_RAB_guranteed_bitrate_DL
=
9
;
// In bps (GBR only)
}
enum
prp_lc_direction
{
PRLCD_UL
=
0
;
PRLCD_DL
=
1
;
PRLCD_BOTH
=
2
;
}
enum
prp_qos_bearer_type
{
PRQBT_NON_GBR
=
0
;
PRQBT_GBR
=
1
;
}
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
0 → 100644
View file @
a0289d74
//'syntax = "proto2";'
package
protocol
;
import
"config_common.proto"
;
message
prp_cell_config
{
optional
uint32
phy_cell_id
=
1
;
// The PCI of this cell
optional
uint32
cell_id
=
2
;
// The PLMN cell id of this cell
optional
uint32
pusch_hopping_offset
=
3
;
// PUSCH resources in RBs for hopping
optional
uint32
hopping_mode
=
4
;
// One of the PRHM_* enum values
optional
uint32
n_sb
=
5
;
// The number of subbands
optional
uint32
phich_resource
=
6
;
// The number of REGs used for PHICH
// One of the PRPR_* enum values
optional
uint32
phich_duration
=
7
;
// One of the PRPD_* enum values
optional
uint32
init_nr_PDCCH_OFDM_sym
=
8
;
// See TS 36.211, section 6.9
optional
prp_si_config
si_config
=
9
;
// The SI configuration
optional
uint32
dl_bandwidth
=
10
;
// The DL transmission bandwidth in RBs
optional
uint32
ul_bandwidth
=
11
;
// The UL transmission bandwidth in RBs
optional
uint32
ul_cyclic_prefix_length
=
13
;
// One of the PRUCPL_* enum values
optional
uint32
dl_cyclic_prefix_length
=
14
;
// One of the PRDCPL_* enum values
optional
uint32
antenna_ports_count
=
15
;
// Number of cell specific antenna ports
optional
uint32
duplex_mode
=
16
;
// One of the PRDM_* enum values
optional
uint32
subframe_assignment
=
17
;
// DL/UL subframe assignment. TDD only
optional
uint32
special_subframe_patterns
=
18
;
// TDD only. See TS 36.211, table 4.2.1
repeated
uint32
mbsfn_subframe_config_rfperiod
=
19
;
// The MBSFN radio frame period (Optional)
repeated
uint32
mbsfn_subframe_config_rfoffset
=
20
;
// The radio frame offset (Optional)
repeated
uint32
mbsfn_subframe_config_sfalloc
=
21
;
// Bitmap indicating the MBSFN subframes (Optional)
optional
uint32
prach_config_index
=
22
;
// See TS 36.211, section 5.7.1
optional
uint32
prach_freq_offset
=
23
;
// See TS 36.211, section 5.7.1
optional
uint32
ra_response_window_size
=
24
;
// The duration of the RA response window in SF
optional
uint32
mac_contention_resolution_timer
=
25
;
// Timer for RA
optional
uint32
max_HARQ_Msg3Tx
=
26
;
// See TS 36.321
optional
uint32
n1PUCCH_AN
=
27
;
// See TS 36.213, section 10.1
optional
uint32
deltaPUCCH_shift
=
28
;
// See TS 36.211, section 5.4
optional
uint32
nRB_cqi
=
29
;
// See TS 36.211, section 5.4
optional
uint32
srs_subframe_config
=
30
;
// See TS 36.211, table 5.5.3.3-1 and 2
optional
uint32
srs_bw_config
=
31
;
// See TS 36.211, section 5.5.3.2
optional
uint32
srs_mac_up_pts
=
32
;
// Boolean value. See TS 36.211, section 5.5.3.2. TDD only
optional
uint32
enable_64QAM
=
33
;
// One of the PREQ_* enum values
optional
uint32
carrier_index
=
34
;
// Carrier component index
}
message
prp_ue_config
{
optional
uint32
rnti
=
1
;
optional
prp_drx_config
drx_config
=
2
;
// The DRX configuration (Optional)
optional
uint32
time_alignment_timer
=
3
;
// Timer in SF. Control the synchronization
// status of the UE, not the actual advance procedure
// See TS 36.321
optional
uint32
meas_gap_config_pattern
=
4
;
// Measurement gap configuration.
// One of the PRMGCP_* enum values
// See TS 36.133
optional
uint32
meas_gap_config_sf_offset
=
5
;
// Measurement gap offset if applicable
optional
prp_sps_config
sps_config
=
6
;
// The SPS configuration (Optional)
optional
prp_sr_config
sr_config
=
7
;
// The SR configuration (Optional)
optional
prp_cqi_config
cqi_config
=
8
;
// The CQI configuration (Optional)
optional
uint32
transmission_mode
=
9
;
// The UE transmission mode
optional
uint64
ue_aggregated_max_bitrate_UL
=
10
;
// Aggregated bit-rate of non-gbr bearer
// per UE. See TS 36.413
optional
uint64
ue_aggregated_max_bitrate_DL
=
11
;
// Aggregated bit-rate of non-gbr bearer
// per UE. See TS 36.413
optional
prp_ue_capabilities
capabilities
=
12
;
optional
uint32
ue_transmission_antenna
=
13
;
// One of the PRUTA_* enum values
optional
uint32
tti_bundling
=
14
;
// Boolean value. See TS 36.321
optional
uint32
max_HARQ_tx
=
15
;
// The max HARQ retransmission for UL
optional
uint32
beta_offset_ACK_index
=
16
;
// See TS 36.213
optional
uint32
beta_offset_RI_index
=
17
;
// See TS 36.213
optional
uint32
beta_offset_CQI_index
=
18
;
// See TS 36.213
optional
uint32
ack_nack_simultaneous_trans
=
19
;
// Boolean. See TS 36.213
optional
uint32
simultaneous_ack_nack_cqi
=
20
;
// Boolean. See TS 36.213
optional
uint32
aperiodic_cqi_rep_mode
=
21
;
// One of the PRACRM_* enum values
optional
uint32
tdd_ack_nack_feedback
=
22
;
// One of the PRTANFM_* enum values
optional
uint32
ack_nack_repetition_factor
=
23
;
// See TS 36.213, section 10.1
optional
uint32
extended_bsr_size
=
24
;
// Boolean for extended BSR size
optional
uint32
ca_support
=
25
;
// Boolean. Support for carrier aggregation
optional
uint32
cross_carrier_sched_support
=
26
;
// Boolean value
optional
uint32
pcell_carrier_index
=
27
;
// Index of primary cell
repeated
prp_scell_config
scell_config
=
28
;
// Secondary cells configuration
optional
uint32
scell_deactivation_timer
=
29
;
// Deactivation timer for secondary cell
}
message
prp_lc_ue_config
{
optional
uint32
rnti
=
1
;
repeated
prp_lc_config
lc_config
=
2
;
// A list of LC configurations for the given UE
}
openair2/ENB_APP/MESSAGES/V2/header.proto
View file @
a0289d74
...
...
@@ -19,10 +19,18 @@ enum prp_type {
// Time indication messages
PRPT_SF_TRIGGER
=
5
;
//Asynchronous messages
//
Asynchronous messages
PRPT_UL_SR_INFO
=
6
;
// eNB configuration messages
PRPT_GET_ENB_CONFIG_REQUEST
=
7
;
PRPT_GET_ENB_CONFIG_REPLY
=
8
;
PRPT_GET_UE_CONFIG_REQUEST
=
9
;
PRPT_GET_UE_CONFIG_REPLY
=
10
;
PRPT_GET_LC_CONFIG_REQUEST
=
11
;
PRPT_GET_LC_CONFIG_REPLY
=
12
;
//Controller command messages
PRPT_DL_MAC_CONFIG
=
7
;
PRPT_DL_MAC_CONFIG
=
13
;
}
openair2/ENB_APP/MESSAGES/V2/progran.proto
View file @
a0289d74
...
...
@@ -4,6 +4,7 @@ package protocol;
import
"stats_messages.proto"
;
import
"header.proto"
;
import
"time_common.proto"
;
import
"config_messages.proto"
;
import
"controller_commands.proto"
;
message
progran_message
{
...
...
@@ -16,7 +17,13 @@ message progran_message {
prp_stats_reply
stats_reply_msg
=
5
;
prp_sf_trigger
sf_trigger_msg
=
6
;
prp_ul_sr_info
ul_sr_info_msg
=
7
;
prp_dl_mac_config
dl_mac_config_msg
=
8
;
prp_enb_config_request
enb_config_request
=
8
;
prp_enb_config_reply
enb_config_reply
=
9
;
prp_ue_config_request
ue_config_request
=
10
;
prp_ue_config_reply
ue_config_reply
=
11
;
prp_lc_config_request
lc_config_request
=
12
;
prp_lc_config_reply
lc_config_reply
=
13
;
prp_dl_mac_config
dl_mac_config_msg
=
14
;
}
}
...
...
@@ -108,6 +115,37 @@ message prp_ul_sr_info {
repeated
uint32
rnti
=
3
;
}
//
// eNB configuration messages
//
message
prp_enb_config_request
{
optional
prp_header
header
=
1
;
}
message
prp_enb_config_reply
{
optional
prp_header
header
=
1
;
optional
uint32
eNB_id
=
2
;
// Unique id to distinguish the eNB
repeated
prp_cell_config
cell_config
=
3
;
}
message
prp_ue_config_request
{
optional
prp_header
header
=
1
;
}
message
prp_ue_config_reply
{
optional
prp_header
header
=
1
;
repeated
prp_ue_config
ue_config
=
2
;
}
message
prp_lc_config_request
{
optional
prp_header
header
=
1
;
}
message
prp_lc_config_reply
{
optional
prp_header
header
=
1
;
repeated
prp_lc_ue_config
lc_ue_config
=
2
;
}
//
// Controller command messages
//
...
...
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