From 0b83862fc29012effdba3147a4b3eb6d1b40984c Mon Sep 17 00:00:00 2001
From: shahab SHARIATBAGHERI <shahab.shariat@eurecom.fr>
Date: Tue, 28 Mar 2017 18:28:30 +0200
Subject: [PATCH] uplink proto

---
 .../MESSAGES/V2/controller_commands.proto     | 11 +++++--
 openair2/ENB_APP/MESSAGES/V2/flexran.proto    | 13 ++++++--
 .../ENB_APP/MESSAGES/V2/mac_primitives.proto  | 31 +++++++++++++++++++
 3 files changed, 50 insertions(+), 5 deletions(-)

diff --git a/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto b/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto
index cbec332b30..98ca6b8bee 100644
--- a/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto
+++ b/openair2/ENB_APP/MESSAGES/V2/controller_commands.proto
@@ -3,7 +3,7 @@ package protocol;
 import "mac_primitives.proto";
 
 //
-// Body of UE DL MAC scheduling configuration info
+// Body of UE DL/UL MAC scheduling configuration info
 //
 
 message flex_dl_data {
@@ -15,6 +15,13 @@ message flex_dl_data {
 	optional uint32 act_deact_ce = 6; //Hex content of MAC CE for Activation/Deactivation in CA
 }
 
+
+message flex_ul_data {
+	optional uint32 rnti = 1;
+  optional flex_ul_dci dl_dci = 2;
+
+}
+
 //
 // Body of the RAR scheduler configuration
 //
@@ -55,4 +62,4 @@ message flex_pdcch_ofdm_sym_count {
 enum flex_broadcast_type {
      FLBT_BCCH = 0;
      FLBT_PCCH = 1;
-}
\ No newline at end of file
+}
diff --git a/openair2/ENB_APP/MESSAGES/V2/flexran.proto b/openair2/ENB_APP/MESSAGES/V2/flexran.proto
index 3a1d40bca6..ffd58daaae 100644
--- a/openair2/ENB_APP/MESSAGES/V2/flexran.proto
+++ b/openair2/ENB_APP/MESSAGES/V2/flexran.proto
@@ -25,9 +25,10 @@ message flexran_message {
 	      flex_lc_config_request lc_config_request_msg = 12;
 	      flex_lc_config_reply lc_config_reply_msg = 13;
 	      flex_dl_mac_config dl_mac_config_msg = 14;
-	      flex_ue_state_change ue_state_change_msg = 15;
-	      flex_control_delegation control_delegation_msg = 16;
-	      flex_agent_reconfiguration agent_reconfiguration_msg = 17;
+	      flex_ul_mac_config ul_mac_config_msg = 15
+	      flex_ue_state_change ue_state_change_msg = 16;
+	      flex_control_delegation control_delegation_msg = 17;
+	      flex_agent_reconfiguration agent_reconfiguration_msg = 18;
 	}
 }
 
@@ -163,6 +164,12 @@ message flex_dl_mac_config {
 	repeated flex_pdcch_ofdm_sym_count ofdm_sym = 6; // OFDM symbol count for each CC
 }
 
+message flex_ul_mac_config {
+	optional flex_header header = 1;
+    optional uint32 sfn_sf = 2;
+    repeated flex_ul_data ul_ue_data = 3;
+}
+
 //
 // UE state change message
 //
diff --git a/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto b/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto
index be7c72ab7b..3b3bc4e912 100644
--- a/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto
+++ b/openair2/ENB_APP/MESSAGES/V2/mac_primitives.proto
@@ -35,6 +35,37 @@ message flex_dl_dci {
 	optional uint32 cif = 27;     		// CIF for cross-carrier scheduling
 }
 
+message flex_ul_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 FLDCIF_* 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 FLVRBF_* 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 FLNGV_* 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
 //
-- 
GitLab