mac_primitives.proto 3.96 KB
Newer Older
1
syntax = "proto2";
2
3
4
5
6
7
package protocol;

//
// Message containing the DL DCI info
//

8
message flex_dl_dci {
9
10
11
12
13
14
15
16
17
18
19
20
	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
21
	optional uint32 format = 12;		// DCI format. A FLDCIF_* value
22
23
24
	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
25
	optional uint32 vrb_format = 16; 	// One of the FLVRBF_* values
26
27
28
29
30
	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
31
	optional uint32 n_gap = 22;	   	// One of the FLNGV_* values
32
33
34
35
36
	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
shahab's avatar
shahab committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
}

message flex_ul_dci {
        optional uint32 rnti = 1;
        optional uint32 rb_start = 2;           // The start RB allocated to the UE 
        optional uint32 rb_len = 3;             // The number of RBs allocated to the UE
        optional uint32 mcs = 4;                // Modulation and coding scheme
        optional uint32 cyclic_shift2 = 5;      //  match DCI format 0/4 PDU 
        optional uint32 freq_hop_flag = 6;      // 0 no hopping, 1 hoppping
        optional uint32 freq_hop_map = 7;       // Frequency hopping bits (0..4) 
        optional uint32 ndi = 8;                // New data indicator
        optional uint32 rv = 9;                 // Redundancy version
        optional uint32 harq_pid = 10;          //  The harq process id
        optional uint32 ultx_mode = 11;         //  A FLULM_* value
        optional uint32 tbs_size = 12;          // The size of each TBS
        optional uint32 n_srs = 13;             // Overlap indication with srs
        optional uint32 res_alloc = 14;         // Type of resource allocation
        optional uint32 size = 15;    // Size of the ULSCH PDU in bytes for UL Grant.

        optional uint32 dai = 16;               // TDD only

//      optional uint32 tb_swap = 17;           // Boolean. TB to codeword swap flag

//      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 tbs_idx = 23;           // The TBS index for Format 1A




69
70
}

shahab's avatar
shahab committed
71

72
73
74
75
//
// Messages related to the creation of RLC PDUs
//

76
77
message flex_rlc_pdu {
	repeated flex_rlc_pdu_tb rlc_pdu_tb = 1; // list of parameters for the creation of RLC PDUs. One for each TB
78
79
}

80
message flex_rlc_pdu_tb {
81
82
83
84
85
86
87
88
	optional uint32 logical_channel_id = 1;
	optional uint32 size = 2;	   // Maximum RLC PDU to be created in bytes
}

//
// MAC content types related enums
//

89
90
91
92
93
94
95
96
97
98
99
enum flex_dci_format {
     FLDCIF_1 = 0;
     FLDCIF_1A = 1;
     FLDCIF_1B = 2;
     FLDCIF_1C = 3;
     FLDCIF_1D = 4;
     FLDCIF_2 = 5;
     FLDCIF_2A = 6;
     FLDCIF_2B = 7;
     FLDCIF_3 = 8;
     FLDCIF_3A = 9;
100
101
}

102
103
104
enum flex_vrb_format {
     FLVRBF_LOCALIZED = 0;
     FLVRBF_DISTRIBUTED = 1;
105
106
}

107
108
109
enum flex_ngap_val {
     FLNGV_1 = 0;
     FLNGV_2 = 1;
shahab's avatar
shahab committed
110
}