package protocol; import "header.proto"; import "flexsplit-messages.proto"; message flexsplit_message { optional flexsplit_direction msg_dir = 100; oneof msg { fsp_hello hello_msg = 1; fsp_echo_request echo_request_msg = 2; fsp_echo_reply echo_reply_msg = 3; fspRlcDataReq data_req_msg = 4; fspRlcDataReqAck data_req_ack = 5; fspPdcpDataInd data_ind_msg = 6; } } enum flexsplit_direction { //option allow_alias = true; NOT_SET = 0; INITIATING_MESSAGE = 1; SUCCESSFUL_OUTCOME=2; UNSUCCESSFUL_OUTCOME=3; } enum flexsplit_err { option allow_alias = true; // message errors NO_ERR = 0; MSG_DEQUEUING = -1; MSG_ENQUEUING = -2; MSG_DECODING = -3; MSG_ENCODING = -4; MSG_BUILD = -5; MSG_NOT_SUPPORTED = -6; MSG_NOT_HANDLED = -7; MSG_NOT_VALIDATED = -8; MSG_OUT_DATED = -9; // other erros UNEXPECTED = -100; } // // Maintenance and discovery messages // message fsp_hello { optional fsp_header header = 1; } message fsp_echo_request { optional fsp_header header = 1; // extensions 100 to 199; } message fsp_echo_reply { optional fsp_header header = 1; // extensions 100 to 199; } message fspRlcDataReq { optional fsp_header header = 1; optional uint32 eNB_id = 2; optional fspRlcData pdcp_data = 3; } message fspRlcDataReqAck { optional fsp_header header = 1; optional uint32 result = 2; } message fspPdcpDataInd { optional fsp_header header = 1; optional uint32 eNB_id = 2; optional fspRlcData rlc_data = 3; }