Added support for DL scheduling command messages
This commit is contained in:
@@ -710,6 +710,8 @@ if (ENB_AGENT_SB_IF)
|
||||
${PRPT_MSG_DIR}/stats_common.proto
|
||||
${PRPT_MSG_DIR}/stats_messages.proto
|
||||
${PRPT_MSG_DIR}/time_common.proto
|
||||
${PRPT_MSG_DIR}/controller_commands.proto
|
||||
${PRPT_MSG_DIR}/mac_primitives.proto
|
||||
)
|
||||
|
||||
set(PRPT_C_DIR ${protobuf_generated_dir}/${PRPTDIR})
|
||||
@@ -722,6 +724,8 @@ if (ENB_AGENT_SB_IF)
|
||||
${PRPT_C_DIR}/stats_common.pb-c.c
|
||||
${PRPT_C_DIR}/stats_messages.pb-c.c
|
||||
${PRPT_C_DIR}/time_common.pb-c.c
|
||||
${PRPT_C_DIR}/controller_commands.pb-c.c
|
||||
${PRPT_C_DIR}/mac_primitives.pb-c.c
|
||||
)
|
||||
|
||||
file(GLOB prpt_h ${PRPT_C_DIR}/*.h)
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package protocol;
|
||||
|
||||
import "mac_primitives.proto";
|
||||
|
||||
//
|
||||
// Body of UE DL MAC scheduling configuration info
|
||||
//
|
||||
|
||||
message prp_dl_data {
|
||||
optional uint32 rnti = 1;
|
||||
optional prp_dl_dci dl_dci = 2;
|
||||
repeated uint32 ce_bitmap = 3; // list of 2 MAC CEs, one for each TB
|
||||
repeated prp_rlc_pdu rlc_pdu = 4; // list of parameters for the creation of RLC PDUs. One for each lcid
|
||||
optional uint32 serv_cell_index = 5;
|
||||
optional uint32 act_deact_ce = 6; //Hex content of MAC CE for Activation/Deactivation in CA
|
||||
}
|
||||
|
||||
//
|
||||
// Body of the RAR scheduler configuration
|
||||
//
|
||||
message prp_dl_rar {
|
||||
optional uint32 rnti = 1;
|
||||
optional uint32 grant = 2; // The 20-bit UL grant. TS 36.213, sec 6.2
|
||||
optional prp_dl_dci rar_dci = 3;
|
||||
optional uint32 carrier_index = 4; // The carrier index for the RAR
|
||||
}
|
||||
|
||||
//
|
||||
// Body of the paging/broadcast configuration message
|
||||
//
|
||||
|
||||
message prp_dl_broadcast {
|
||||
optional uint32 type = 1; // The PRBT_* values
|
||||
optional uint32 index = 2; // Index of the broadcast message:
|
||||
// 0 - SIB1,
|
||||
// 1..31 - Six,
|
||||
// 32..63 - PCCH (PCCH index obtained from prp_paging_info)
|
||||
optional prp_dl_dci broad_dci = 3;
|
||||
optional uint32 carrier_index = 4; // Index of the carrier for broadcast
|
||||
}
|
||||
|
||||
//
|
||||
// Body of the OFDM symbol count message
|
||||
//
|
||||
|
||||
message prp_pdcch_ofdm_sym_count {
|
||||
optional uint32 carrier_index = 1;
|
||||
optional uint32 num_pdcch_ofdm_symbols = 2;
|
||||
}
|
||||
|
||||
//
|
||||
// Types of commands related enums
|
||||
//
|
||||
|
||||
enum prp_broadcast_type {
|
||||
PRBT_BCCH = 0;
|
||||
PRBT_PCCH = 1;
|
||||
}
|
||||
@@ -21,5 +21,8 @@ enum prp_type {
|
||||
|
||||
//Asynchronous messages
|
||||
PRPT_UL_SR_INFO = 6;
|
||||
|
||||
//Controller command messages
|
||||
PRPT_DL_MAC_CONFIG = 7;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
package protocol;
|
||||
|
||||
//
|
||||
// Message containing the DL DCI info
|
||||
//
|
||||
|
||||
message prp_dl_dci {
|
||||
optional uint32 rnti = 1;
|
||||
optional uint32 res_alloc = 2; // Type of resource allocation
|
||||
optional uint32 rb_bitmap = 3; // Bitmap for RB allocation
|
||||
optional uint32 rb_shift = 4; // See TS 36.214, section 7.1.6.2
|
||||
repeated uint32 tbs_size = 5; // The size of each TBS
|
||||
repeated uint32 mcs = 6; // The MCS of each TB
|
||||
repeated uint32 ndi = 7; // New data indicator of each TB
|
||||
repeated uint32 rv = 8; // Redundancy version of each TB
|
||||
optional uint32 cce_index = 9; // CCE index used to send the DCI
|
||||
optional uint32 aggr_level = 10;
|
||||
optional uint32 precoding_info = 11; // 2 antenna ports:0..6,
|
||||
// 4 antenna ports:0..50
|
||||
optional uint32 format = 12; // DCI format. A PRDCIF_* value
|
||||
optional uint32 tpc = 13; // TS 36.213, sec 5.1.1.1
|
||||
optional uint32 harq_process = 14; // HARQ process ID
|
||||
optional uint32 dai = 15; // TDD only
|
||||
optional uint32 vrb_format = 16; // One of the PRVRBF_* values
|
||||
optional uint32 tb_swap = 17; // Boolean. TB to codeword swap flag
|
||||
optional uint32 sps_release = 18; // Flag value
|
||||
optional uint32 pdcch_order = 19;
|
||||
optional uint32 preamble_index = 20; // Only valid if pdcch_order = 1
|
||||
optional uint32 prach_mask_index = 21; // Only valid if pdcch_order = 1
|
||||
optional uint32 n_gap = 22; // One of the PRNGV_* values
|
||||
optional uint32 tbs_idx = 23; // The TBS index for Format 1A
|
||||
optional uint32 dl_power_offset = 24; // For format 1D
|
||||
optional uint32 pdcch_power_offset = 25; // DL PDCCH power boosting in dB
|
||||
optional uint32 cif_present = 26; // Boolean. Indication of CIF field
|
||||
optional uint32 cif = 27; // CIF for cross-carrier scheduling
|
||||
}
|
||||
|
||||
//
|
||||
// Messages related to the creation of RLC PDUs
|
||||
//
|
||||
|
||||
message prp_rlc_pdu {
|
||||
repeated prp_rlc_pdu_tb rlc_pdu_tb = 1; // list of parameters for the creation of RLC PDUs. One for each TB
|
||||
}
|
||||
|
||||
message prp_rlc_pdu_tb {
|
||||
optional uint32 logical_channel_id = 1;
|
||||
optional uint32 size = 2; // Maximum RLC PDU to be created in bytes
|
||||
}
|
||||
|
||||
//
|
||||
// MAC content types related enums
|
||||
//
|
||||
|
||||
enum prp_dci_format {
|
||||
PRDCIF_1 = 0;
|
||||
PRDCIF_1A = 1;
|
||||
PRDCIF_1B = 2;
|
||||
PRDCIF_1C = 3;
|
||||
PRDCIF_1D = 4;
|
||||
PRDCIF_2 = 5;
|
||||
PRDCIF_2A = 6;
|
||||
PRDCIF_2B = 7;
|
||||
PRDCIF_3 = 8;
|
||||
PRDCIF_3A = 9;
|
||||
}
|
||||
|
||||
enum prp_vrb_format {
|
||||
PRVRBF_LOCALIZED = 0;
|
||||
PRVRBF_DISTRIBUTED = 1;
|
||||
}
|
||||
|
||||
enum prp_ngap_val {
|
||||
PRNGV_1 = 0;
|
||||
PRNGV_2 = 1;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ package protocol;
|
||||
import "stats_messages.proto";
|
||||
import "header.proto";
|
||||
import "time_common.proto";
|
||||
import "controller_commands.proto";
|
||||
|
||||
message progran_message {
|
||||
optional progran_direction msg_dir = 100;
|
||||
@@ -15,6 +16,7 @@ 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -106,6 +108,19 @@ message prp_ul_sr_info {
|
||||
repeated uint32 rnti = 3;
|
||||
}
|
||||
|
||||
//
|
||||
// Controller command messages
|
||||
//
|
||||
|
||||
message prp_dl_mac_config {
|
||||
optional prp_header header = 1;
|
||||
optional uint32 sfn_sf = 2;
|
||||
repeated prp_dl_data dl_ue_data = 3;
|
||||
repeated prp_dl_rar dl_rar = 4;
|
||||
repeated prp_dl_broadcast dl_broadcast = 5;
|
||||
repeated prp_pdcch_ofdm_sym_count ofdm_sym = 6; // OFDM symbol count for each CC
|
||||
}
|
||||
|
||||
// Extensions of the echo request and reply
|
||||
// messages for carrying a latency value in ms
|
||||
message prp_echo_request_latency {
|
||||
|
||||
Reference in New Issue
Block a user