Commit c1c9b0bc authored by Xenofon Foukas's avatar Xenofon Foukas

Added support for DL scheduling command messages

parent 3df4cbae
......@@ -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 {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment