FlexRAN Protocol Specification

Table of Contents

FlexRAN Protocol Specification

Introduction

This document contains the messages used for the communication protocol between the controller and the eNBs/gNBs. All the messages presented here are defined using the Google Protocol Buffers format so that they can be cross-platform to ease development and experimentation. The same specification can also be translated to ASN format to comply with 3GPP requirements.

config_common.proto

flex_a1_event

A1 event type

Field Type Label Description
threshold_rsrp int64 optional

RSRP threshold value.

hysteresis int64 optional

Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered.

time_to_trigger int64 optional

Time after which an event will be triggered.

max_report_cells int64 optional

Maximum number of reporting cells.

flex_a2_event

A2 event type

Field Type Label Description
threshold_rsrp int64 optional

RSRP threshold value.

hysteresis int64 optional

Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered.

time_to_trigger int64 optional

Time after which an event will be triggered.

max_report_cells int64 optional

Maximum number of reporting cells.

flex_a3_event

A3 event type

Field Type Label Description
a3_offset int64 optional

A3 event offset.

report_on_leave int32 optional

Send report when leaving the serving cell.

hysteresis int64 optional

Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered.

time_to_trigger int64 optional

Time after which an event will be triggered.

max_report_cells int64 optional

Maximum number of reporting cells.

flex_a4_event

A4 event type

Field Type Label Description
threshold_rsrp int64 optional

RSRP threshold value.

hysteresis int64 optional

Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered.

time_to_trigger int64 optional

Time after which an event will be triggered.

max_report_cells int64 optional

Maximum number of reporting cells.

flex_a5_event

A5 event type

Field Type Label Description
threshold_rsrp_1 int64 optional

RSRP threshold_1 for serving cell.

threshold_rsrp_2 int64 optional

RSRP threshold_2 for target/neighboring cells.

hysteresis int64 optional

Hysteresis indicating an acceptable range of RSRP fluctuation for which the A1 event is not triggered.

time_to_trigger int64 optional

Time after which an event will be triggered.

max_report_cells int64 optional

Maximum number of reporting cells.

flex_cqi_config

Channel quality indicator config message

Field Type Label Description
cqi_action flex_setup_release_action optional

Indicates if CQI changed or released. One of the FLSRA_* enum values.

cqi_sched_interval uint32 optional

CQI scheduling interval in SF.

ri_sched_interval uint32 optional

RI scheduling interval in SF.

flex_drx_config

Discontinous reception (DRX) config message

Field Type Label Description
on_duration_timer uint32 optional

Timer in terms of number of SF. See TS 36.321.

drx_inactivity_timer uint32 optional

Timer in terms of number of SF. See TS 36.321.

drx_retransmission_timer uint32 optional

Timer in terms of number of SF. See TS 36.321.

long_drx_cycle uint32 optional

Long DRX Cycle in terms of number of SF. See TS 36.321.

long_drx_cycle_start_offset uint32 optional

Long DRX cycle offset in terms of number of S. FSee TS 36.321.

short_drx_cycle uint32 optional

Short DRX clcyel in terms of number of SF.

drx_short_cycle_timer uint32 optional

Short DRX cycle timer in terms of number of SF. See TS 36.321.

flex_gummei

globally unique MME identifier used for S1AP cell configuration

Field Type Label Description
plmn flex_plmn optional

PLMN value.

mme_group_id uint32 optional

MME group identifier.

mme_code uint32 optional

MME code.

flex_lc_config

Logical channel config related structures and enums

Field Type Label Description
lcid uint32 optional

The logical channel ID.

lcg uint32 optional

The logical channel group (0..3) the LC is mapped to.

direction flex_lc_direction optional

The LC direction. One of the FLLCD_* enum values.

qos_bearer_type flex_qos_bearer_type optional

QoS GBR or NGBR bearer type. One of the FLQBT_* enum values.

qci uint32 optional

The QCI defined in TS 23.203, coded as defined in TS 36.413. One less than the actual QCI value.

e_RAB_max_bitrate_UL uint64 optional

In bps, valid only for GBR traffic.

e_RAB_max_bitrate_DL uint64 optional

In bps, valid only for GBR traffic.

e_RAB_guaranteed_bitrate_UL uint64 optional

In bps, valid only for GBR traffic.

e_RAB_guaranteed_bitrate_DL uint64 optional

In bps, valid only for GBR traffic .

flex_measurement_event

UE Measurement event type

Field Type Label Description
periodical flex_per_event optional

Periodical event.

a1 flex_a1_event optional

A1 event: Serving cell becomes better than the threshold.

a2 flex_a2_event optional

A2 event: Serving cell becomes worse than the threshold.

a3 flex_a3_event optional

A3 event: Neighboring cell becomes offset better than the serving cell.

a4 flex_a4_event optional

A4 event: Neighboring cell becomes offset better than the threshold.

a5 flex_a5_event optional

A5 event: Serving cell becomes worse than the threshold_1 and the Neighboring cell becomes better than the threshold_2.

flex_measurement_info

UE measurement inforamtion

Field Type Label Description
offset_freq_serving int64 optional

Arbitrary offset OFS, from TS.

offset_freq_neighbouring int64 optional

Arbitrary offset OFN.

cell_individual_offset int64 repeated

Arbitrary offset OCS + OCN.

filter_coefficient_rsrp int64 optional

Parameter k for exponential moving average calculation coefficient a = 1/2^(k/4) of all measured RSRPs.

filter_coefficient_rsrq int64 optional

Parameter k for RSRQ filtering.

event flex_measurement_event optional

Measurement event type.

flex_per_event

UE periodical measurement flag

Field Type Label Description
max_report_cells int64 optional

Maximum number of reporting cells.

flex_plmn

PLMN value

Field Type Label Description
mcc uint32 optional

Mobile Conuntry Code (MCC).

mnc uint32 optional

Mobile Network Code (MNC).

mnc_length uint32 optional

Length of MNC.

flex_s1ap_mme

S1AP MME information used for S1AP cell configuration

Field Type Label Description
s1_ip string optional

S1-MME IP of MME.

name string optional

S1-MME name of MME.

state flex_mme_state optional

State of the MME.

served_gummeis flex_gummei repeated

GUMMEIs served by the MME.

requested_plmns flex_plmn repeated

PLMNs communicated to MME.

rel_capacity uint32 optional

Relative MME capacity, TS23.401.

flex_scell_config

Secondary cell config message

Field Type Label Description
carrier_index uint32 optional

ID of the carrier component.

scell_index uint32 optional

Index of this Scell (RRC SCellIndex).

use_ccs uint32 optional

Boolean value. Indicates if cross-carrier scheduling is used by this SCell.

sched_cell_index uint32 optional

Index of the cell responsible for scheduling this SCell if cross-carrier scheduling is enabled.

pdsch_start uint32 optional

Starting OFDM symbol of PDSCH data region for this SCell.

flex_si_config

Cell System information (SI) config

Field Type Label Description
sfn uint32 optional

System frame number.

sib1_length uint32 optional

The length of SIB1 in bytes.

si_window_length uint32 optional

The scheduling window for all SIs in SF.

si_message flex_si_message repeated

List of SI messages to be sent. The index identifies the type of an SI message, i.e. 0 - SIB1, 1..31 - SIx, 32..63 - PCCH.

flex_si_message

System information message

Field Type Label Description
periodicity uint32 optional

Periodicity of SI message in radio frames.

length uint32 optional

The length of the SI message in bytes.

flex_slice

Description of a slice, with generic and slice algorithm-specific parameters

Field Type Label Description
id uint32 optional

Arbitrary ID (there must be a slice 0).

label string optional

Arbitrary label.

scheduler string optional

Scheduler to use for this slice.

static flex_slice_static optional

Static slicing parameters for static algorithm.

nvs flex_slice_nvs optional

NVS slicing parameters for NVS algorithm.

flex_slice_dl_ul_config

Configuration of slicing, in UL or DL

Field Type Label Description
algorithm flex_slice_algorithm optional

The slice algorithm to use.

slices flex_slice repeated

List of slices.

scheduler string optional

Scheduler to use if no slicing.

flex_slice_nvs

NVS slice algorithm parameters

Field Type Label Description
rate flex_slice_nvs.nvs_rate optional

Rate parameter.

pct_reserved float optional

Capacity parameter 0 to 1.

flex_slice_nvs.nvs_rate

NVS slice rate-type parameters

Field Type Label Description
Mbps_required float optional

The rate reserved for this slice.

Mbps_reference float optional

The minimum rate that should be achieved when scheduled, translating into minimum quality.

flex_slice_static

Static slice algorithm parameters

Field Type Label Description
posLow uint32 optional

Lower (inclusive) end of the slice (DL: RBG, UL: RBG).

posHigh uint32 optional

Upper (inclusive) end.

flex_sps_config

Semi-persistent scheduling (SPS) config message

Field Type Label Description
semi_persistent_sched_interval_UL uint32 optional

SPS UL scheduling interval in SF.

semi_persistent_sched_interval_DL uint32 optional

SPS DL scheduling interval in SF.

num_of_conf_sps_proc uint32 optional

Number of SPS HARQ processes. See TS 36.321.

n1_PUCCH_AN_persistent_element uint32 repeated

See TS36.213. Ignored when config is used, as part of FLPT_SET_UE_CONFIG.

implicit_release_after uint32 optional

Number of empty transmissions before release of SPS.

flex_sr_config

Scheduling request config message

Field Type Label Description
sr_action flex_setup_release_action optional

Indicates if SR config should be changed or released. One of the FLSRA_* enum values.

sched_interval uint32 optional

SR scheduling interval in SF.

dsr_trans_max uint32 optional

See TS 36.213.

flex_ue_capabilities

UE cpability message

Field Type Label Description
half_duplex uint32 optional

Boolean value. Only half duplex support. FDD operation.

intra_SF_hopping uint32 optional

Support for intra-subframe hopping. Boolean value.

type2_sb_1 uint32 optional

Support for type 2 hopping with n_sb > 1.

ue_category uint32 optional

Indicate the UE category.

res_alloc_type1 uint32 optional

Boolean value. UE support for resource allocation type 1.

flex_aperiodic_cqi_report_mode

Aperiodic Channel Quality indicator (CQI) report mode

Name Number Description
FLACRM_RM12 0

FLACRM_RM20 1

FLACRM_RM22 2

FLACRM_RM30 3

FLACRM_RM31 4

FLACRM_NONE 5

flex_dl_cyclic_prefix_length

Downlink cyclic prefix length type

Name Number Description
FLDCPL_NORMAL 0

FLDCPL_EXTENDED 1

flex_duplex_mode

Duplexing mode

Name Number Description
FLDM_TDD 0

FLDM_FDD 1

flex_hopping_mode

Frequency hoopping mod e

Name Number Description
FLHM_INTER 0

FLHM_INTERINTRA 1

flex_lc_direction

Logical channel direction.

Name Number Description
FLLCD_UL 0

FLLCD_DL 1

FLLCD_BOTH 2

flex_meas_gap_config_pattern

Measurement gap config message

Name Number Description
FLMGCP_GP1 0

FLMGCP_GP2 1

FLMGCP_OFF 2

flex_mme_state

MME connection state with respect to eNB

Name Number Description
FLMMES_DISCONNECTED 0

FLMMES_WAITING 1

FLMMES_CONNECTED 2

FLMMES_OVERLOAD 3

flex_phich_duration

PHICH resource duration

Name Number Description
FLPD_NORMAL 0

FLPD_EXTENDED 1

flex_phich_resource

PHICH resource indicator

Name Number Description
FLPR_ONE_SIXTH 0

FLPR_HALF 1

FLPR_ONE 2

FLPR_TWO 3

flex_qam

QAM Modulation mode

Name Number Description
FLEQ_MOD_16QAM 0

FLEQ_MOD_64QAM 1

flex_qos_bearer_type

QoS bearer type: GBR or Non GBR

Name Number Description
FLQBT_NON_GBR 0

FLQBT_GBR 1

flex_setup_release_action

Name Number Description
FLSRA_SETUP 0

FLSRA_RELEASE 1

flex_slice_algorithm

Supported MAC slicing algorithms

Name Number Description
None 0

Static 1

NVS 2

flex_tdd_ack_nack_feedback_mode

TDD ACK and NACK feedback mode

Name Number Description
FLTANFM_BUNDLING 0

FLTANFM_MULTIPLEXING 1

flex_ue_state_change_type

UE current state indicator

Name Number Description
FLUESC_UPDATED 0

FLUESC_ACTIVATED 1

FLUESC_DEACTIVATED 2

FLUESC_MOVED 3

flex_ue_transmission_antenna

UE transmission antenna loop type

Name Number Description
FLUTA_NONE 0

FLUTA_OPEN_LOOP 1

FLUTA_CLOSED_LOOP 2

flex_ul_cyclic_prefix_length

Uplink cyclic prefix length type

Name Number Description
FLUCPL_NORMAL 0

FLUCPL_EXTENDED 1

config_messages.proto

flex_cell_config

Cell configuration message

Field Type Label Description
phy_cell_id uint32 optional

The PCI of this cell.

pusch_hopping_offset uint32 optional

PUSCH resources in RBs for hopping.

hopping_mode flex_hopping_mode optional

Frequency hopping mode. One of the FLHM_* enum values.

n_sb uint32 optional

The number of subbands.

phich_resource flex_phich_resource optional

The number of REGs used for PHICH. One of the FLPR_* enum values.

phich_duration flex_phich_duration optional

PHICH duration type. One of the FLPD_* enum values.

init_nr_PDCCH_OFDM_sym uint32 optional

See TS 36.211, section 6.9.

si_config flex_si_config optional

The SI configuration.

dl_bandwidth uint32 optional

The DL transmission bandwidth in RBs.

ul_bandwidth uint32 optional

The UL transmission bandwidth in RB.s

ul_cyclic_prefix_length flex_ul_cyclic_prefix_length optional

One of the FLUCPL_* enum values.

dl_cyclic_prefix_length flex_dl_cyclic_prefix_length optional

One of the FLDCPL_* enum values.

antenna_ports_count uint32 optional

Number of cell specific antenna ports.

duplex_mode flex_duplex_mode optional

One of the FLDM_* enum values.

subframe_assignment uint32 optional

DL/UL subframe assignment. TDD only.

special_subframe_patterns uint32 optional

TDD only. See TS 36.211, table 4.2.1.

mbsfn_subframe_config_rfperiod uint32 repeated

The MBSFN radio frame period (Optional).

mbsfn_subframe_config_rfoffset uint32 repeated

The radio frame offset (Optional).

mbsfn_subframe_config_sfalloc uint32 repeated

Bitmap indicating the MBSFN subframes (Optional).

prach_config_index uint32 optional

See TS 36.211, section 5.7.1.

prach_freq_offset uint32 optional

See TS 36.211, section 5.7.1.

ra_response_window_size uint32 optional

The duration of the RA response window in SF.

mac_contention_resolution_timer uint32 optional

Timer for RA.

max_HARQ_Msg3Tx uint32 optional

See TS 36.321.

n1PUCCH_AN uint32 optional

See TS 36.213, section 10.1.

deltaPUCCH_shift uint32 optional

See TS 36.211, section 5.4.

nRB_cqi uint32 optional

See TS 36.211, section 5.4.

srs_subframe_config uint32 optional

See TS 36.211, table 5.5.3.3-1 and 2.

srs_bw_config uint32 optional

See TS 36.211, section 5.5.3.2.

srs_mac_up_pts uint32 optional

Boolean value. See TS 36.211, section 5.5.3.2. TDD only.

enable_64QAM flex_qam optional

One of the FLEQ_* enum values.

carrier_index uint32 optional

Carrier component index.

dl_freq uint32 optional

Operating downlink frequency.

ul_freq uint32 optional

Operating uplink frequency.

eutra_band uint32 optional

Operating band.

dl_pdsch_power int32 optional

Operating downlink power.

ul_pusch_power int32 optional

Operating uplink power.

plmn_id flex_plmn repeated

The PLMN cell ID of this cell.

slice_config flex_slice_config optional

Slice configuration.

x2_ho_net_control bool optional

X2 handover control command operated by the network.

flex_lc_ue_config

UE logical channel configuration message

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

lc_config flex_lc_config repeated

A list of LC configurations for the given UE.

flex_s1ap_config

S1AP configuration

Field Type Label Description
pending uint32 optional

Number of pending (to be connected) MMEs.

connected uint32 optional

Number of connected MMEs.

enb_s1_ip string optional

S1-MME IP of eNodeB.

enb_name string optional

S1-MME name of eNodeB.

mme flex_s1ap_mme repeated

S1-MME name of MME.

flex_slice_config

Slice configuration message

Field Type Label Description
dl flex_slice_dl_ul_config optional

Slice configuration in downlink.

ul flex_slice_dl_ul_config optional

Slice configuration in uplink.

flex_ue_config

UE configuration message

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

drx_config flex_drx_config optional

The DRX configuration (Optional).

time_alignment_timer uint32 optional

Timer in SF. Control the synchronization. Status of the UE, not the actual advancement procedure. See TS 36.321.

meas_gap_config_pattern flex_meas_gap_config_pattern optional

Measurement gap configuration. One of the FLMGCP_* enum values. See TS 36.133.

meas_gap_config_sf_offset uint32 optional

Measurement gap offset if applicable.

sps_config flex_sps_config optional

The SPS configuration (Optional).

sr_config flex_sr_config optional

The SR configuration (Optional).

cqi_config flex_cqi_config optional

The CQI configuration (Optional).

transmission_mode uint32 optional

The UE transmission mode.

ue_aggregated_max_bitrate_UL uint64 optional

Aggregated bit-rate of non-gbr bearer per UE. See TS 36.413.

ue_aggregated_max_bitrate_DL uint64 optional

Aggregated bit-rate of non-gbr bearer per UE. See TS 36.413.

capabilities flex_ue_capabilities optional

UE capability information.

ue_transmission_antenna flex_ue_transmission_antenna optional

One of the FLUTA_* enum values.

tti_bundling uint32 optional

Boolean value. See TS 36.321.

max_HARQ_tx uint32 optional

The max HARQ retransmission for UL.

beta_offset_ACK_index uint32 optional

See TS 36.213.

beta_offset_RI_index uint32 optional

See TS 36.213.

beta_offset_CQI_index uint32 optional

See TS 36.213.

ack_nack_simultaneous_trans uint32 optional

Boolean. See TS 36.213.

simultaneous_ack_nack_cqi uint32 optional

Boolean. See TS 36.213.

aperiodic_cqi_rep_mode flex_aperiodic_cqi_report_mode optional

CQI report mode. One of the FLACRM_* enum values.

tdd_ack_nack_feedback flex_tdd_ack_nack_feedback_mode optional

ACK/NACK feedback mode. One of the FLTANFM_* enum values.

ack_nack_repetition_factor uint32 optional

See TS 36.213, section 10.1.

extended_bsr_size uint32 optional

Boolean for extended BSR size.

ca_support uint32 optional

Boolean. Support for carrier aggregation.

cross_carrier_sched_support uint32 optional

Boolean value.

pcell_carrier_index uint32 optional

Index of primary cell.

scell_config flex_scell_config repeated

Secondary cells configuration.

scell_deactivation_timer uint32 optional

Deactivation timer for secondary cell.

imsi uint64 optional

UE International mobile subscriber identity.

dl_slice_id uint32 optional

Downlink slice identifier.

ul_slice_id uint32 optional

Uplink slice identifier.

info flex_measurement_info optional

Configuration of RRC measurements.

control_delegation.proto

flex_control_delegation_type

Control delegation command or operation

Name Number Description
FLCDT_MAC_DL_UE_SCHEDULER 1

DL UE scheduler delegation.

controller_commands.proto

flex_dl_broadcast

Body of the paging/broadcast configuration message

Field Type Label Description
type flex_broadcast_type optional

Broadcast Channel. One of the FLBT_* values.

index uint32 optional

Index of the broadcast message: 0 - SIB1, 1..31 - Six, 32..63 - PCCH (PCCH index obtained from flex_paging_info).

broad_dci flex_dl_dci optional

boradcast DCI.

carrier_index uint32 optional

Index of the carrier for broadcast.

flex_dl_data

Body of UE DL MAC scheduling configuration info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

dl_dci flex_dl_dci optional

Downlink DCI.

ce_bitmap uint32 repeated

List of 2 MAC CEs, one for each TB.

rlc_pdu flex_rlc_pdu repeated

List of parameters for the creation of RLC PDUs. One for each lcid.

serv_cell_index uint32 optional

Index of the serving cell.

act_deact_ce uint32 optional

Hex content of MAC CE for Activation/Deactivation in CA.

flex_dl_rar

Body of the RAR scheduler configuration

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

grant uint32 optional

The 20-bit UL grant. TS 36.213, sec 6.2.

rar_dci flex_dl_dci optional

Random access response DCI.

carrier_index uint32 optional

The carrier index for the RAR.

flex_pdcch_ofdm_sym_count

Body of the OFDM symbol count message

Field Type Label Description
carrier_index uint32 optional

Index of frequency carrier.

num_pdcch_ofdm_symbols uint32 optional

Number of PDCCH OFDM symbols.

flex_ul_data

Body of UE UL MAC scheduling configuration info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

ul_dci flex_ul_dci optional

Uplink DCI.

flex_broadcast_type

Broadcast Channel

Name Number Description
FLBT_BCCH 0

FLBT_PCCH 1

flexran.proto

flex_agent_reconfiguration

Agent reconfiguration message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

policy string optional

The policy changes using YAML syntax in string format.

flex_control_delegation

Control delegation message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

delegation_type flex_control_delegation_type optional

Bitmap flags indicating control delegation type. One of the FLCDT_* values.

payload bytes optional

Byte array of shared lib containing the delegated functions.

name string optional

The delegated function's names ordered based on bitmap flags.

flex_disconnect

FlexRAN protocol disconnect message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header

flex_dl_mac_config

Downlink MAC config message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

sfn_sf uint32 optional

Combined frame and subframe number.

dl_ue_data flex_dl_data repeated

Body of UE DL MAC scheduling configuration info.

dl_rar flex_dl_rar repeated

Body of the RAR scheduler configuration.

dl_broadcast flex_dl_broadcast repeated

Body of the paging/broadcast configuration. message

ofdm_sym flex_pdcch_ofdm_sym_count repeated

OFDM symbol count for each CC.

flex_echo_reply

FlexRAN protocol echo reply message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

flex_echo_reply_latency

Extensions of the echo reply carrying a latency value in ms


Extension Type Base Number Description
latency uint32 flex_echo_reply 100

flex_echo_request

FlexRAN protocol echo request message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

flex_echo_request_latency

Extensions of the echo request RTT latency value in ms


Extension Type Base Number Description
latency uint32 flex_echo_request 100

flex_enb_config_reply

eNB configuration reply messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

eNB_id uint64 optional

Unique ID to distinguish the eNB.

cell_config flex_cell_config repeated

Cell main configuration parameteres.

device_spec uint32 optional

Device specific configuration.

s1ap flex_s1ap_config optional

S1AP configuration.

flex_enb_config_request

eNB configuration request messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

flex_hello

FlexRAN protocol hello message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

bs_id uint64 optional

Unique ID to distinguish the eNB.

capabilities flex_bs_capability repeated

BS capabilities.

splits flex_bs_split repeated

BS functional split option.

flex_ho_command

RRC handover command

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

rnti uint32 optional

User RNTI.

target_phy_cell_id uint32 optional

target cell identifier.

flex_lc_config_reply

UE logical channel configuration reply messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

lc_ue_config flex_lc_ue_config repeated

Logical channel configuration information.

flex_lc_config_request

UE logical channel configuration request messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

flex_rrc_triggering

RRC measurement report triggering message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

rrc_trigger string optional

RRC measurement report triggering message.

meas_info flex_measurement_info optional

RRC measurement information.

flex_sf_trigger

subframe indication messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

sfn_sf uint32 optional

System frame and subframe number.

dl_info flex_dl_info repeated

Downlink transmission info.

ul_info flex_ul_info repeated

Uplink transmission info.

flex_stats_reply

Statistics reply message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

ue_report flex_ue_stats_report repeated

UE stats report/reply.

cell_report flex_cell_stats_report repeated

Cell stats report/reply.

flex_stats_request

Statistics request message for both cell and UE

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

type flex_stats_type optional

Type of stats to request.

complete_stats_request flex_complete_stats_request optional

Request eNB/gNB to send a complete stats spanning the entire protocol stack.

cell_stats_request flex_cell_stats_request optional

Request eNB/gNB to send cell stats spanning the entire protocol stack.

ue_stats_request flex_ue_stats_request optional

Request eNB/gNB to send UE stats spanning the entire protocol stack.

flex_ue_config_reply

UE configuration reply messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

ue_config flex_ue_config repeated

UE configuration information.

flex_ue_config_request

UE configuration request messages

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

flex_ue_state_change

UE state change message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

type flex_ue_state_change_type optional

Bitmap flag indicating current UE state. One of the FLUESC_* values.

config flex_ue_config optional

Body of the message (based on type).

flex_ul_mac_config

Uplink MAC config message

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

sfn_sf uint32 optional

Combined frame and subframe number.

ul_ue_data flex_ul_data repeated

Body of UE UL scheduling info, including DCI (Downlink Control Info).

flex_ul_sr_info

UE uplink Scheduling request messages (Asynchronous)

Field Type Label Description
header flex_header optional

FlexRAN protocol message header.

sfn_sf uint32 optional

System frame and subframe number.

rnti uint32 repeated

UE RNTI.

flexran_message

FlexRAN Control protocol Specification describes the communication protocol between the controller and the eNBs/gNBs.

All the messages presented here will also be defined in the Google Protocol Buffers format so that they can be cross-platform to ease development and experimentation.

Field Type Label Description
msg_dir flexran_direction optional

FlexRAN message direction.

hello_msg flex_hello optional

FlexRAN protocol hello message.

echo_request_msg flex_echo_request optional

FlexRAN protocol echo request message.

echo_reply_msg flex_echo_reply optional

FlexRAN Protocol echo reply message.

stats_request_msg flex_stats_request optional

eNB/gNB stats request message.

stats_reply_msg flex_stats_reply optional

eNB/gNB stats reply message.

sf_trigger_msg flex_sf_trigger optional

eNB/gNB subframe trigger message, sent from RAN agent/runtime to the controller.

ul_sr_info_msg flex_ul_sr_info optional

eNB/gNB uplink scheduling request info message.

enb_config_request_msg flex_enb_config_request optional

eNB/gNB config request message.

enb_config_reply_msg flex_enb_config_reply optional

eNB/gNB config reply message.

ue_config_request_msg flex_ue_config_request optional

UE config request message.

ue_config_reply_msg flex_ue_config_reply optional

UE config reply message.

lc_config_request_msg flex_lc_config_request optional

UE logical channel config request message.

lc_config_reply_msg flex_lc_config_reply optional

UE logical channel config reply message.

dl_mac_config_msg flex_dl_mac_config optional

UE MAC config message.

ue_state_change_msg flex_ue_state_change optional

UE state change message.

control_delegation_msg flex_control_delegation optional

FlexRAN control delegation message.

agent_reconfiguration_msg flex_agent_reconfiguration optional

Flexran agent/runtime reconfiguration message.

rrc_triggering flex_rrc_triggering optional

eNb/gNB RRC measurement triggering messages.

ul_mac_config_msg flex_ul_mac_config optional

UE uplink MAc config message.

disconnect_msg flex_disconnect optional

FlexRAN protocol disconnect message.

ho_command flex_ho_command optional

FlexRAN handover command.

flex_bs_capability

BS capabilities in terms of functional split. Maintenance and discovery related messages.

Name Number Description
LOPHY 0

Low phy layer

HIPHY 1

High phy layer

LOMAC 2

Low mac layer

HIMAC 3

High mac layer

RLC 4

RLC layer

PDCP 5

PDCP layer

SDAP 6

SDAP layer

RRC 7

RRC layer

S1AP 8

S1AP layer

flex_bs_split

BS functional split. Maintenance and discovery related messages.

Name Number Description
F1 0

IF1/ F1 split, CU(PDCP/RRC) and DU(RLC/MAC/PHY).

nFAPI 1

NFAPI split specified by small-cell forum, MAC-PHY layer split.

IF4 2

Resource element mapping split.

IF4p5 3

Frequency-domain split.

IF5 4

Split of PHY and RF/RRH, equivalent to 3GPP option 8 split.

flexran_direction

FlexRAN protocol message direction

Name Number Description
NOT_SET 0

Option allow_alias = true; Indicates unknown/unset value.

INITIATING_MESSAGE 1

Indicates the first message from the sender.

SUCCESSFUL_OUTCOME 2

Indicates a successful reception of the message by the receiver.

UNSUCCESSFUL_OUTCOME 3

Indicates an unsuccessful reception of the message by the receiver.

flexran_err

FlexRAN message error types

Name Number Description
NO_ERR 0

option allow_alias = true;

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

UNEXPECTED -100

other erros

header.proto

flex_header

FlexRAN protocol message header

Field Type Label Description
version uint32 optional

The protocol version used.

type uint32 optional

The type of the PR message.

xid uint32 optional

Transaction ID to facilitate pairing between req and reply.

flex_type

FlexRAN protocol message type

Name Number Description
FLPT_HELLO 0

Discovery and maintenance messages.

FLPT_ECHO_REQUEST 1

Discovery and maintenance messages.

FLPT_ECHO_REPLY 2

Discovery and maintenance messages.

FLPT_DISCONNECT 20

Discovery and maintenance messages.

FLPT_STATS_REQUEST 3

Statistics and measurement messages.

FLPT_STATS_REPLY 4

Statistics and measurement messages.

FLPT_SF_TRIGGER 5

Time indication messages.

FLPT_UL_SR_INFO 6

Asynchronous messages.

FLPT_GET_ENB_CONFIG_REQUEST 7

eNB configuration messages.

FLPT_GET_ENB_CONFIG_REPLY 8

eNB configuration messages.

FLPT_GET_UE_CONFIG_REQUEST 9

eNB configuration messages.

FLPT_GET_UE_CONFIG_REPLY 10

eNB configuration messages.

FLPT_GET_LC_CONFIG_REQUEST 11

eNB configuration messages.

FLPT_GET_LC_CONFIG_REPLY 12

eNB configuration messages.

FLPT_DL_MAC_CONFIG 13

Controller command messages.

FLPT_UE_STATE_CHANGE 14

UE state change messages.

FLPT_DELEGATE_CONTROL 15

Control delegation messages.

FLPT_RECONFIGURE_AGENT 16

Agent/runtime reconfiguration message.

FLPT_RRC_TRIGGERING 17

RRC measurement report reconfiguration.

FLPT_UL_MAC_CONFIG 18

MAC uplink configuration.

FLPT_HO_COMMAND 21

Handover command.

mac_primitives.proto

flex_dl_dci

Message containing the downlink DCI info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

res_alloc uint32 optional

Type of resource allocation.

rb_bitmap uint32 optional

Bitmap for RB allocation.

rb_shift uint32 optional

See TS 36.214, section 7.1.6.2.

tbs_size uint32 repeated

The size of each TBS.

mcs uint32 repeated

The MCS of each TB.

ndi uint32 repeated

New data indicator of each TB.

rv uint32 repeated

Redundancy version of each TB.

cce_index uint32 optional

Control Channel Element (CCE) index used to send the DCI.

aggr_level uint32 optional

Aggregation level of CCE.

precoding_info uint32 optional

2 antenna ports:0..6,

format flex_dci_format optional

4 antenna ports:0..50. DCI format. A FLDCIF_* value.

tpc uint32 optional

TS 36.213, sec 5.1.1.1.

harq_process uint32 optional

HARQ process ID.

dai uint32 optional

TDD only.

vrb_format flex_vrb_format optional

VRB formar. One of the FLVRBF_* values.

tb_swap uint32 optional

Boolean. TB to codeword swap flag.

sps_release uint32 optional

Flag value.

pdcch_order uint32 optional

Physical Downlink Control Channel order.

preamble_index uint32 optional

Only valid if pdcch_order = 1.

prach_mask_index uint32 optional

Only valid if pdcch_order = 1.

n_gap flex_ngap_val optional

One of the FLNGV_* values.

tbs_idx uint32 optional

The TBS index for Format 1A.

dl_power_offset uint32 optional

For format 1D.

pdcch_power_offset uint32 optional

DL PDCCH power boosting in dB.

cif_present uint32 optional

Boolean. Indication of CIF field.

cif uint32 optional

CIF for cross-carrier scheduling.

flex_rlc_pdu

Messages related to the creation of RLC PDUs

Field Type Label Description
rlc_pdu_tb flex_rlc_pdu_tb repeated

List of parameters for the creation of RLC PDUs. One for each TB.

flex_rlc_pdu_tb

Messages related to the size of RLC PDUs

Field Type Label Description
logical_channel_id uint32 optional

Logical channel identifier.

size uint32 optional

Maximum RLC PDU to be created in bytes.

flex_ul_dci

Message containing the uplink DCI info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

rb_start uint32 optional

The start RB allocated to the UE.

rb_len uint32 optional

The number of RBs allocated to the UE.

mcs uint32 optional

Modulation and coding scheme.

cyclic_shift2 uint32 optional

Match DCI format 0/4 PDU.

freq_hop_flag uint32 optional

0 no hopping, 1 hoppping.

freq_hop_map uint32 optional

Frequency hopping bits (0..4).

ndi uint32 optional

New data indicator.

rv uint32 optional

Redundancy version.

harq_pid uint32 optional

The harq process ID.

ultx_mode uint32 optional

Uplink transmission mode. Not used. A FLULM_* value.

tbs_size uint32 optional

The size of each TBS.

n_srs uint32 optional

Overlap indication with srs.

res_alloc uint32 optional

Type of resource allocation.

size uint32 optional

Size of the ULSCH PDU in bytes for UL Grant.

dai uint32 optional

TDD only.

flex_dci_format

MAC Downlink Control Information (DCI ) formats

Name Number Description
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

flex_ngap_val

GAP value

Name Number Description
FLNGV_1 0

FLNGV_2 1

flex_vrb_format

MAC virtual resource block formats

Name Number Description
FLVRBF_LOCALIZED 0

FLVRBF_DISTRIBUTED 1

stats_common.proto

flex_cell_global_eutra_id

RRC Cell Global Identity message

Field Type Label Description
plmn flex_plmn optional

Public land mobile network identifier of neighbor cell.

cell_id uint32 optional

Cell identifier of neighbor cell.

flex_csi_a12

CSI type A12

Field Type Label Description
wb_cqi uint32 repeated

Wideband channel quality indicator.

sb_pmi uint32 repeated

Subband precoding matrix indicator.

flex_csi_a20

CSI type A20

Field Type Label Description
wb_cqi uint32 optional

Wideband channel quality indicator.

sb_cqi uint32 optional

Subband channel quality indicator.

sb_list uint32 repeated

Subband list.

flex_csi_a22

CSI type A22

Field Type Label Description
wb_cqi uint32 repeated

Wideband channel quality indicator.

sb_cqi uint32 repeated

Subband channel quality indicator.

wb_pmi uint32 optional

Wideband precoding matrix indicator.

sb_pmi uint32 optional

Wideband precoding matrix indicator.

sb_list uint32 repeated

Wubband list.

flex_csi_a30

CSI type A30

Field Type Label Description
wb_cqi uint32 optional

Wideband channel quality indicator.

sb_cqi uint32 repeated

Subband channel quality indicator.

flex_csi_a31

CSI type A31

Field Type Label Description
wb_cqi uint32 repeated

Wideband channel quality indicator.

sb_cqi flex_msb_cqi repeated

Subband channel quality indicator.

wb_pmi uint32 optional

Wideband precoding matrix indicator.

flex_csi_p10

CSI type P10

Field Type Label Description
wb_cqi uint32 optional

Wideband channel quality indicator (CQI).

flex_csi_p11

CSI type P11

Field Type Label Description
wb_cqi uint32 repeated

Wideband channel quality indicator.

wb_pmi uint32 optional

Wideband precoding matrix indicator.

flex_csi_p20

CSI type P20

Field Type Label Description
wb_cqi uint32 optional

Wideband channel quality indicator.

sb_cqi uint32 optional

Subband channel quality indicator.

bandwidth_part_index uint32 optional

Bandwidth part index.

sb_index uint32 optional

Subband index.

flex_csi_p21

CSI type P21

Field Type Label Description
wb_cqi uint32 repeated

Wideband channel quality indicator.

wb_pmi uint32 optional

Wideband precoding matrix indicator.

sb_cqi uint32 repeated

Subband channel quality indicator.

badwidth_part_index uint32 optional

Bandwidth part index.

sb_index uint32 optional

Subband index.

flex_dl_cqi_report

The full DL CQI report for all CC of a UE

Field Type Label Description
sfn_sn uint32 optional

Combined frame and subframe number.

csi_report flex_dl_csi repeated

Channel Status Information report.

flex_dl_csi

The CSI report of the UE for a specific servCellIndex

Field Type Label Description
serv_cell_index uint32 optional

Serving cell index.

ri uint32 optional

Rank indicator.

type flex_csi_type optional

Channel Status Information.

p10csi flex_csi_p10 optional

p11csi flex_csi_p11 optional

p20csi flex_csi_p20 optional

p21csi flex_csi_p21 optional

a12csi flex_csi_a12 optional

a22csi flex_csi_a22 optional

a20csi flex_csi_a20 optional

a30csi flex_csi_a30 optional

a31csi flex_csi_a31 optional

flex_eutra_cgi_measurements

RRC EUTRA Cell Global Identity (CGI) measurements message

Field Type Label Description
cgi flex_cell_global_eutra_id optional

EUTRA Cell Global Identity (CGI).

tracking_area_code uint32 optional

Tracking area code of the neighbor cell.

plmn flex_plmn repeated

Public land mobile network identifiers of neighbor cell.

flex_eutra_measurements

RRC EURTA measurements message

Field Type Label Description
phys_cell_id int32 optional

Physical Cell identifier.

cgi_meas flex_eutra_cgi_measurements optional

EUTRA Cell Global Identity (CGI) measurement.

meas_result flex_eutra_ref_signal_meas optional

EUTRA nearby cell reference signal measurement.

flex_eutra_ref_signal_meas

EUTR reference signal measurements

Field Type Label Description
rsrp int32 optional

Neighboring Cell RSRP.

rsrq int32 optional

Neighboring Cell RSRQ.

flex_gtp_stats

GTP stats

Field Type Label Description
e_rab_id uint32 optional

Radio bearer identifier associated with this GTP connection.

teid_enb uint32 optional

Tunnel-endpoint identifier at eNB.

addr_enb string optional

IP address of eNB.

teid_sgw uint32 optional

Tunnel-endpoint identifier at SGW.

addr_sgw string optional

IP address of SGW.

flex_mac_sdus_dl

MAC SDU information

Field Type Label Description
sdu_length uint32 optional

SDU length.

lcid uint32 optional

Logical channel identifier.

flex_mac_stats

MAC scheduling stats

Field Type Label Description
tbs_dl uint32 optional

Current downlink transport block size.

tbs_ul uint32 optional

Current uplink transport block size.

prb_retx_dl uint32 optional

Current physical resource block used for retransmission in downlink.

prb_retx_ul uint32 optional

Current physical resource block used for retransmission in uplink.

prb_dl uint32 optional

Current physical resource block used for new transmission in downlink.

prb_ul uint32 optional

Current physical resource block used for new transmission in uplink.

mcs1_dl uint32 optional

Current downlink MCS before rate mactching.

mcs2_dl uint32 optional

Current downlink MCS after rate mactching.

mcs1_ul uint32 optional

Current uplink MCS before rate mactching.

mcs2_ul uint32 optional

Current uplink MCS after rate mactching.

total_bytes_sdus_ul uint32 optional

Total bytes of uplink SDU size.

total_bytes_sdus_dl uint32 optional

Total bytes of downlink SDU size.

total_prb_retx_dl uint32 optional

Total bytes of downlink SDU size for retransmission.

total_prb_retx_ul uint32 optional

Total bytes of uplink SDU size for retransmission.

total_prb_dl uint32 optional

Total physical resource block used in downlink.

total_prb_ul uint32 optional

Total physical resource block used in uplink.

total_pdu_dl uint32 optional

Total transmitted PDUs in downlink.

total_pdu_ul uint32 optional

Total transmitted PDUs in uplink.

total_tbs_dl uint32 optional

Total transport block size in downlink.

total_tbs_ul uint32 optional

Total transport block size in uplink.

mac_sdus_dl flex_mac_sdus_dl repeated

MAC SDU information.

harq_round uint32 optional

HARQ round .

flex_msb_cqi

The CQI for the M-preffered subband

Field Type Label Description
sb_cqi uint32 repeated

Subband channel quality indicator.

flex_neigh_cells_measurements

RRC neighboring cell measurements message

Field Type Label Description
eutra_meas flex_eutra_measurements repeated

Neighboring EUTRA cells measurements.

flex_noise_interference_report

UL noise and interference report for a UE

Field Type Label Description
sfn_sf uint32 optional

Combined frame and subframe number.

rip uint32 optional

Received Interference Power.

tnp uint32 optional

Thermal Noise Power.

p0_nominal_pucch int32 optional

Nominal power in PUCCH.

flex_paging_buffer_report

Report for the paging buffer status

Field Type Label Description
paging_info flex_paging_info repeated

Paging information.

flex_paging_info

Paging message info

Field Type Label Description
paging_index uint32 optional

Paging index.

paging_message_size uint32 optional

Paging message size.

paging_subframe uint32 optional

Subframe number during which the paging message has been sent.

carrier_index uint32 optional

Frequency carrier index.

flex_pdcp_stats

PDCP Statistics

Field Type Label Description
pkt_tx uint32 optional

Number of the transmitted packets.

pkt_tx_bytes uint32 optional

Total bytes of the transmitted packets.

pkt_tx_sn uint32 optional

Sequence number of the last transmit packet.

pkt_tx_w uint32 optional

Number of transmitted packets within a window.

pkt_tx_bytes_w uint32 optional

Total bytes of transmitted packets within a window.

pkt_tx_aiat uint32 optional

Aggregated inter-arrival time of the transmitted packets.

pkt_tx_aiat_w uint32 optional

Aggregated inter-arrival time of the transmitted packets within a window.

pkt_rx uint32 optional

Number of the received packets.

pkt_rx_bytes uint32 optional

Total bytes of the received packets.

pkt_rx_sn uint32 optional

Sequence number of the last received packet.

pkt_rx_w uint32 optional

Number of the received packets within a window.

pkt_rx_bytes_w uint32 optional

Total bytes of the received packets within a window.

pkt_rx_aiat uint32 optional

Aggregated inter-arrival time of the received packets.

pkt_rx_aiat_w uint32 optional

Aggregated inter-arrival time of the received packets within a window.

pkt_rx_oo uint32 optional

Number of the out-of-ordered received packets.

sfn uint64 optional

Frame number

flex_plmn_identity

Public land mobile network identifier (PLMN)

Field Type Label Description
mnc uint32 repeated

Mobile Network Code (MNC).

mcc uint32 repeated

Mobile Country Code (MCC).

tac uint32 repeated

Tracking area code .

flex_pucch_dbm

Physicall uplink control channel information

Field Type Label Description
p0_pucch_dbm int32 optional

Power in dbm in PUCCH.

serv_cell_index uint32 optional

Serving cell index.

p0_pucch_updated uint32 optional

Updated power in dbm in PUCCH.

flex_rlc_bsr

RLC buffer status for a specific logical channel of a UE

Field Type Label Description
lc_id uint32 optional

Logical channel identifier both SRBs and DRBs.

tx_queue_size uint32 optional

Transmission queue size of RLC.

tx_queue_hol_delay uint32 optional

Transmission queue head-of-line delay (waiting time).

retransmission_queue_size uint32 optional

Retransmission queue size.

retransmission_queue_hol_delay uint32 optional

Retransmission queue head-of-line delay (waiting time).

status_pdu_size uint32 optional

Size of of the (remaining) PDU.

flex_rrc_measurements

RRC Measurements Primitives

Field Type Label Description
measid int32 optional

Measurement identifier.

pcell_rsrp int32 optional

Primary Cell Reference Signal Received Power (RSRP).

pcell_rsrq int32 optional

Primary Cell Reference Signal Received Quality (RSRQ).

neigh_meas flex_neigh_cells_measurements optional

Neighboring cells measurements performed by UE.

flex_s1ap_ue

S1AP stats

Field Type Label Description
mme_s1_ip string optional

IP of MME to which UE is connected.

enb_ue_s1ap_id uint32 optional

S1AP ID on eNodeB side for UE.

mme_ue_s1ap_id uint32 optional

S1AP ID on MME side for UE.

selected_plmn flex_plmn optional

UE-selected PLMN in RRC Conn Setup Cplt.

flex_ul_cqi

UL CQI report for a specific UE for a given report type

Field Type Label Description
type flex_ul_cqi_type optional

Uplink channel quality information type.

sinr uint32 repeated

Signal to interference noice ratio.

serv_cell_index uint32 optional

Serving cell index.

flex_ul_cqi_report

Full UL CQI report for a specific UE

Field Type Label Description
sfn_sn uint32 optional

Combined frame and subframe number.

cqi_meas flex_ul_cqi repeated

Uplink channel quality indicator.

pucch_dbm flex_pucch_dbm repeated

PUCCH power in dbm.

flex_ce_type

Flags for MAC Control Elements

Name Number Description
FLPCET_TA 1

FLPCET_DRX 2

FLPCET_CR 4

FLPCET_CA 8

flex_csi_type

Types of DL CSI reports

Name Number Description
FLCSIT_P10 0

FLCSIT_P11 1

FLCSIT_P20 2

FLCSIT_P21 3

FLCSIT_A12 4

FLCSIT_A22 5

FLCSIT_A20 6

FLCSIT_A30 7

FLCSIT_A31 8

flex_ul_cqi_type

The type of UL CQI

Name Number Description
FLUCT_SRS 0

FLUCT_PUSCH 1

FLUCT_PUCCH_1 2

FLUCT_PUCCH_2 3

FLUCT_PRACH 4

stats_messages.proto

flex_cell_stats_report

The full statistics report for a specific cell

Field Type Label Description
carrier_index uint32 optional

eNB carrier index.

flags flex_cell_stats_type optional

Cell stats type. One of FLCST_*.

noise_inter_report flex_noise_interference_report optional

Cell noise to interference report.

flex_cell_stats_request

cell stats request

Field Type Label Description
cell uint32 repeated

ID of the eNB/gNB.

flags flex_cell_stats_type optional

Cell stats type. One of FLCST_*.

flex_complete_stats_request

Bodies of statistics report requests

Field Type Label Description
report_frequency flex_stats_report_freq optional

Stats report frequency.

sf uint32 optional

Subframe number.

cell_report_flags uint32 optional

Flag to request cell report.

ue_report_flags uint32 optional

Flag to request UE report.

cell_reports flex_cell_stats_type repeated

Cell status type/flag used for representational purposes at the northbound of the controller.

ue_reports flex_ue_stats_type repeated

UE status type/flag used for representational purposes at the northbound of the controller.

flex_complete_stats_request_repeated

Request complete state, northbound interface-related message

Field Type Label Description
reports flex_complete_stats_request repeated

flex_ue_stats_report

Statistics report for a specific UE

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

flags uint32 optional

UE stats type. One of FLUST_*.

bsr uint32 repeated

UE buffer status report.

phr uint32 optional

UE power headroom.

rlc_report flex_rlc_bsr repeated

UE RLC report.

pending_mac_ces uint32 optional

UE pendinf MAC control elements.

dl_cqi_report flex_dl_cqi_report optional

UE downlink CQI report.

pbr flex_paging_buffer_report optional

UE paging buffer report.

ul_cqi_report flex_ul_cqi_report optional

UE uplink CQI report.

rrc_measurements flex_rrc_measurements optional

UE RRC measurements.

pdcp_stats flex_pdcp_stats optional

PDCP stats.

mac_stats flex_mac_stats optional

MAC stats.

gtp_stats flex_gtp_stats repeated

GTP stats.

s1ap_stats flex_s1ap_ue optional

S1AP stats.

flex_ue_stats_request

UE stats request

Field Type Label Description
rnti uint32 repeated

UE Radio Network Temporary Identifier.

flags flex_ue_stats_type optional

UE stats type. One of FLUST_*.

flex_cell_stats_type

Flags for cell statistics

Name Number Description
FLCST_NOISE_INTERFERENCE 1

flex_stats_report_freq

Report frequency for the requested statistics

Name Number Description
FLSRF_ONCE 0

FLSRF_PERIODICAL 1

FLSRF_CONTINUOUS 2

FLSRF_OFF 3

flex_stats_type

Types of statistics requested by the controller

Name Number Description
FLST_COMPLETE_STATS 0

FLST_CELL_STATS 1

FLST_UE_STATS 2

flex_ue_stats_type

Flags for UE-related statistics

Name Number Description
FLUST_BSR 1

FLUST_PHR 2

FLUST_RLC_BS 4

FLUST_MAC_CE_BS 8

FLUST_DL_CQI 16

FLUST_PBS 32

FLUST_UL_CQI 64

FLUST_MAC_STATS 128

FLUST_PDCP_STATS 1024

FLUST_GTP_STATS 2048

FLUST_S1AP_STATS 4096

FLUST_RRC_MEASUREMENTS 65536

To be extended with more types of stats

time_common.proto

flex_dl_info

Downlink transmission info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

harq_process_id uint32 optional

Process identifier of HARQ.

harq_status uint32 repeated

HARQ status.

serv_cell_index uint32 optional

Serving cell index.

flex_ul_info

Uplink transmission info

Field Type Label Description
rnti uint32 optional

UE Radio Network Temporary Identifier.

ul_reception uint32 repeated

Uplink reeption info.

reception_status uint32 optional

Uplink reception status.

tpc uint32 optional

Transmit power control info.

serv_cell_index uint32 optional

Serving cell index.

rssi uint32 optional

Received signal strength indicator.

flex_harq_status

HARQ status message

Name Number Description
FLHS_ACK 0

FLHS_NACK 1

FLHS_DTX 2

flex_reception_status

Packet reception status

Name Number Description
FLRS_OK 0

FLRS_NOT_OK 1

FLRS_NOT_VALID 2

Scalar Value Types

Top Top
.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)