Commit 7ccf7a91 authored by Navid Nikaein's avatar Navid Nikaein

* add protobuf messages and compliation directives

parent 5c0098e2
package protocol;
message prp_header {
optional uint32 version = 1;
optional uint32 type = 2;
optional uint32 length = 3;
optional uint32 xid = 4;
}
enum prp_type {
// Discovery and maintenance messages
PRPT_HELLO = 0;
PRPT_ECHO_REQUEST = 1;
PRPT_ECHO_REPLY = 2;
// Statistics and measurement messages
PRPT_STATS_REQUEST = 3;
PRPT_STATS_REPLY = 4;
}
\ No newline at end of file
package protocol;
import "stats_messages.proto";
//
// Maintenance and discovery messages
//
// Empty message. Does not really have to be used.
// Could use only the header with the type set to PRPT_HELLO
message prp_hello {
}
message prp_echo_request {
extensions 100 to 199;
}
message prp_echo_reply {
extensions 100 to 199;
}
//
// Statistics request and reply message
//
message prp_stats_request {
optional prp_stats_type type = 1;
oneof body {
prp_complete_stats_request complete_stats_request = 2;
prp_cell_stats_request cell_stats_request = 3;
prp_ue_stats_request ue_stats_request = 4;
}
}
message prp_stats_reply {
optional prp_ue_stats_report ue_report = 1;
optional prp_cell_stats_report cell_report = 2;
}
// Extensions of the echo request and reply
// messages for carrying a latency value in ms
message prp_echo_request_latency {
extend prp_echo_request {
optional uint32 latency = 100;
}
}
message prp_echo_reply_latency {
extend prp_echo_reply {
optional uint32 latency = 100;
}
}
//message progran_body {
// oneof msg {
// prp_hello hello_msg = 1;
// prp_echo_request echo_request_msg = 2;
// prp_echo_reply echo_reply_msg = 3;
// prp_stats_request stats_request_msg = 4;
// prp_stats_reply stats_reply_msg = 5;
// }
//}
package protocol;
//
// UE related statistics
//
// RLC buffer status for a specific logical channel of a UE
message prp_rlc_bsr {
optional uint32 lc_id = 1;
optional uint32 tx_queue_size = 2;
optional uint32 tx_queue_hol_delay = 3;
optional uint32 retransmission_queue_size = 4;
optional uint32 retransmission_queue_hol_delay = 5;
optional uint32 status_pdu_size = 6;
}
// Flags for MAC Control Elements
enum prp_ce_type {
PRPCET_TA = 1;
PRPCET_DRX = 2;
PRPCET_CR = 4;
PRPCET_CA = 8;
}
// Types of DL CSI reports
enum prp_csi_type {
PRCSIT_P10 = 0;
PRCSIT_P11 = 1;
PRCSIT_P20 = 2;
PRCSIT_P21 = 3;
PRCSIT_A12 = 4;
PRCSIT_A22 = 5;
PRCSIT_A20 = 6;
PRCSIT_A30 = 7;
PRCSIT_A31 = 8;
}
// CSI type P10
message prp_csi_p10 {
optional uint32 wb_cqi = 1;
}
// CSI type P11
message prp_csi_p11 {
repeated uint32 wb_cqi = 1;
optional uint32 wb_pmi = 2;
}
// CSI type P20
message prp_csi_p20 {
optional uint32 wb_cqi = 1;
optional uint32 sb_cqi = 2;
optional uint32 bandwidth_part_index = 3;
optional uint32 sb_index = 4;
}
// CSI type P21
message prp_csi_p21 {
repeated uint32 wb_cqi = 1;
optional uint32 wb_pmi = 2;
repeated uint32 sb_cqi = 3;
optional uint32 badwidth_part_index = 4;
optional uint32 sb_index = 5;
}
// CSI type A12
message prp_csi_a12 {
repeated uint32 wb_cqi = 1;
repeated uint32 sb_pmi = 2;
}
// CSI type A22
message prp_csi_a22 {
repeated uint32 wb_cqi = 1;
repeated uint32 sb_cqi = 2;
optional uint32 wb_pmi = 3;
optional uint32 sb_pmi = 4;
repeated uint32 sb_list = 5;
}
// CSI type A20
message prp_csi_a20 {
optional uint32 wb_cqi = 1;
optional uint32 sb_cqi = 2;
repeated uint32 sb_list = 3;
}
// CSI type A30
message prp_csi_a30 {
optional uint32 wb_cqi = 1;
repeated uint32 sb_cqi = 2;
}
// CSI type A31
message prp_csi_a31 {
repeated uint32 wb_cqi = 1;
repeated prp_msb_cqi sb_cqi = 2;
optional uint32 wb_pmi = 3;
}
// The CQI for the M-preffered subband
message prp_msb_cqi {
repeated uint32 sb_cqi = 1;
}
// The CSI report of the UE for a specific servCellIndex
message prp_dl_csi {
optional uint32 serv_cell_index = 1;
optional uint32 ri = 2;
optional prp_csi_type type = 3;
oneof report {
prp_csi_p10 p10csi = 4;
prp_csi_p11 p11csi = 5;
prp_csi_p20 p20csi = 6;
prp_csi_p21 p21csi = 7;
prp_csi_a12 a12csi = 8;
prp_csi_a22 a22csi = 9;
prp_csi_a20 a20csi = 10;
prp_csi_a30 a30csi = 11;
prp_csi_a31 a31csi = 12;
}
}
// The full DL CQI report for all CC of a UE
message prp_dl_cqi_report {
optional uint32 sfn_sn = 1;
repeated prp_dl_csi csi_report = 2;
}
// Paging message info
message prp_paging_info {
optional uint32 paging_index = 1;
optional uint32 paging_message_size = 2;
optional uint32 paging_subframe = 3;
optional uint32 carrier_index = 4;
}
// Report for the paging buffer status
message prp_paging_buffer_report {
repeated prp_paging_info paging_info = 1;
}
// The type of UL CQI
enum prp_ul_cqi_type {
PRUCT_SRS = 0;
PRUCT_PUSCH = 1;
PRUCT_PUCCH_1 = 2;
PRUCT_PUCCH_2 = 3;
PRUCT_PRACH = 4;
}
// UL CQI report for a specific UE for a given report type
message prp_ul_cqi {
optional prp_ul_cqi_type type = 1;
repeated uint32 sinr = 2;
optional uint32 serv_cell_index = 3;
}
// Full UL CQI report for a specific UE
message prp_ul_cqi_report {
optional uint32 sfn_sn = 1;
repeated prp_ul_cqi cqi_meas = 2;
}
//
// Cell related statistics
//
// The UL noise and interference report for a UE
message prp_noise_interference_report {
optional uint32 sfn_sf = 1;
optional uint32 rip = 2;
optional uint32 tnp = 3;
}
package protocol;
//import "header.proto";
import "stats_common.proto";
//
// Bodies of statistics report requests
//
message prp_complete_stats_request {
optional prp_stats_report_freq report_frequency = 1;
optional uint32 sf = 2;
optional uint32 cell_report_flags = 3;
optional uint32 ue_report_flags = 4;
}
message prp_cell_stats_request {
repeated uint32 cell = 1;
optional uint32 flags = 2;
}
message prp_ue_stats_request {
repeated uint32 rnti = 1;
optional uint32 flags = 2;
}
//
// Bodies of statistics reports
//
// The full statistics report for a specific cell
message prp_cell_stats_report {
optional uint32 carrier_index = 1;
optional uint32 flags = 2;
optional prp_noise_interference_report noise_inter_report = 3;
}
// Statistics report for a specific UE
message prp_ue_stats_report {
optional uint32 rnti = 1;
optional uint32 flags = 2;
repeated uint32 bsr = 3;
optional uint32 phr = 4;
repeated prp_rlc_bsr rlc_report = 5;
optional uint32 pending_mac_ces = 6;
optional prp_dl_cqi_report dl_cqi_report = 7;
optional prp_paging_buffer_report pbr = 8;
optional prp_ul_cqi_report ul_cqi_report = 9;
}
//
// Types of statistics related enums
//
//Types of statistics requested by the controller
enum prp_stats_type {
PRST_COMPLETE_STATS = 0;
PRST_CELL_STATS = 1;
PRST_UE_STATS = 2;
}
// Report frequency for the requested statistics
enum prp_stats_report_freq {
PRSRF_ONCE = 0;
PRSRF_PERIODICAL = 1;
PRSRF_CONTINUOUS = 2;
PRSRF_OFF = 3;
}
// Flags for cell statistics
enum prp_cell_stats_type {
PRCST_NOISE_INTERFERENCE = 1;
}
// Flags for UE-related statistics
enum prp_ue_stats_type {
PRUST_BSR = 1;
PRUST_PRH = 2;
PRUST_RLC_BS = 4;
PRUST_MAC_CE_BS = 8;
PRUST_DL_CQI = 16;
PRUST_PBS = 32;
PRUST_UL_CQI = 64;
// To be extended with more types of stats
}
\ No newline at end of file
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