From 2fbe01e15fd2c020f6a448d20db16db16c5d2808 Mon Sep 17 00:00:00 2001 From: Xenofon Foukas Date: Fri, 15 Jan 2016 16:38:37 +0200 Subject: [PATCH] Added support for timing messages in DL/UL --- cmake_targets/CMakeLists.txt | 2 ++ openair2/ENB_APP/MESSAGES/V2/header.proto | 6 +++- openair2/ENB_APP/MESSAGES/V2/progran.proto | 21 +++++++++++++- .../ENB_APP/MESSAGES/V2/time_common.proto | 29 +++++++++++++++++++ openair2/ENB_APP/enb_agent_handler.c | 5 ++++ 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 openair2/ENB_APP/MESSAGES/V2/time_common.proto diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index 56ee7b71d3..a040013e56 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -709,6 +709,7 @@ if (ENB_AGENT_SB_IF) ${PRPT_MSG_DIR}/progran.proto ${PRPT_MSG_DIR}/stats_common.proto ${PRPT_MSG_DIR}/stats_messages.proto + ${PRPT_MSG_DIR}/time_common.proto ) set(PRPT_C_DIR ${protobuf_generated_dir}/${PRPTDIR}) @@ -720,6 +721,7 @@ if (ENB_AGENT_SB_IF) ${PRPT_C_DIR}/progran.pb-c.c ${PRPT_C_DIR}/stats_common.pb-c.c ${PRPT_C_DIR}/stats_messages.pb-c.c + ${PRPT_C_DIR}/time_common.pb-c.c ) file(GLOB prpt_h ${PRPT_C_DIR}/*.h) diff --git a/openair2/ENB_APP/MESSAGES/V2/header.proto b/openair2/ENB_APP/MESSAGES/V2/header.proto index 5670b9bd77..7130f8448c 100644 --- a/openair2/ENB_APP/MESSAGES/V2/header.proto +++ b/openair2/ENB_APP/MESSAGES/V2/header.proto @@ -15,8 +15,12 @@ enum prp_type { // Statistics and measurement messages PRPT_STATS_REQUEST = 3; PRPT_STATS_REPLY = 4; + + // Time indication messages + PRPT_DL_TRIGGER = 5; + PRPT_UL_TRIGGER = 6; //Asynchronous messages - PRPT_UL_SR_INFO = 5; + PRPT_UL_SR_INFO = 7; } diff --git a/openair2/ENB_APP/MESSAGES/V2/progran.proto b/openair2/ENB_APP/MESSAGES/V2/progran.proto index 53718b87c4..314678b1d6 100644 --- a/openair2/ENB_APP/MESSAGES/V2/progran.proto +++ b/openair2/ENB_APP/MESSAGES/V2/progran.proto @@ -3,6 +3,7 @@ package protocol; import "stats_messages.proto"; import "header.proto"; +import "time_common.proto"; message progran_message { optional progran_direction msg_dir = 100; @@ -12,7 +13,9 @@ message progran_message { prp_echo_reply echo_reply_msg = 3; prp_stats_request stats_request_msg = 4; prp_stats_reply stats_reply_msg = 5; - prp_ul_sr_info ul_sr_info_msg = 6; + prp_dl_trigger dl_trigger_msg = 6; + prp_ul_trigger ul_trigger_msg = 7; + prp_ul_sr_info ul_sr_info_msg = 8; } } @@ -83,6 +86,22 @@ message prp_stats_reply { repeated prp_cell_stats_report cell_report = 3; } +// +// Time indication messages +// + +message prp_dl_trigger { + optional prp_header header = 1; + optional uint32 sfn_sf = 2; + repeated prp_dl_info dl_info = 3; +} + +message prp_ul_trigger { + optional prp_header header = 1; + optional uint32 sfn_sf = 2; + repeated prp_ul_info ul_info = 3; +} + // // Asynchronous messages // diff --git a/openair2/ENB_APP/MESSAGES/V2/time_common.proto b/openair2/ENB_APP/MESSAGES/V2/time_common.proto new file mode 100644 index 0000000000..4c3ac4911e --- /dev/null +++ b/openair2/ENB_APP/MESSAGES/V2/time_common.proto @@ -0,0 +1,29 @@ +package protocol; + +enum prp_harq_status { + PRHS_ACK = 0; + PRHS_NACK = 1; + PRHS_DTX = 2; +} + +enum prp_reception_status { + PRRS_OK = 0; + PRRS_NOT_OK = 1; + PRRS_NOT_VALID = 2; +} + +message prp_dl_info { + optional uint32 rnti = 1; + optional uint32 harq_process_id = 2; + repeated uint32 harq_status = 3; + optional uint32 serv_cell_index = 4; +} + +message prp_ul_info { + optional uint32 rnti = 1; + repeated uint32 ul_reception = 2; + optional uint32 reception_status = 3; + optional uint32 tpc = 4; + optional uint32 serv_cell_index = 5; +} + diff --git a/openair2/ENB_APP/enb_agent_handler.c b/openair2/ENB_APP/enb_agent_handler.c index 0f5146fe6d..62b026e63b 100644 --- a/openair2/ENB_APP/enb_agent_handler.c +++ b/openair2/ENB_APP/enb_agent_handler.c @@ -47,6 +47,9 @@ enb_agent_message_decoded_callback messages_callback[][3] = { {0, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_ECHO_REPLY_MSG*/ //Must add handler when receiving echo reply {enb_agent_mac_handle_stats, 0, 0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_STATS_REQUEST_MSG*/ {0,0,0}, /*PROTOCOL__PROGRAN_MESSAGE__MSG_STATS_REPLY_MSG*/ + {0,0,0}, /*DL_TRIGGER*/ + {0,0,0}, /*UL_TRIGGER*/ + {0,0,0}, /*SR_INFO*/ }; @@ -56,6 +59,8 @@ enb_agent_message_destruction_callback message_destruction_callback[] = { enb_agent_destroy_echo_reply, enb_agent_mac_destroy_stats_request, enb_agent_mac_destroy_stats_reply, + 0, + 0, enb_agent_mac_destroy_sr_info, };