Skip to content
Snippets Groups Projects
Commit c1c9b0bc authored by Xenofon Foukas's avatar Xenofon Foukas
Browse files

Added support for DL scheduling command messages

parent 3df4cbae
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
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;
}
\ No newline at end of file
......@@ -21,5 +21,8 @@ enum prp_type {
//Asynchronous messages
PRPT_UL_SR_INFO = 6;
//Controller command messages
PRPT_DL_MAC_CONFIG = 7;
}
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;
}
\ No newline at end of file
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment