Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • pasolini/openairinterface5g
  • odukan/openairinterface5g
  • ewa/openairinterface5g
  • deksprime/openairinterface5g
  • jackokie/openairinterface5g
  • Srushti16/openairinterface5g
  • BRodolphe/openairinterface5g
  • kramantas/openairinterface5g
  • suraj_4g5g/openairinterface5g
  • turletti/openairinterface5g
  • anandriisc/openairinterface5g
  • lvguorong/openairinterface5g
  • dast/openairinterface5g
  • yashwanthr/openairinterface5g
  • ajiti2tb/openairinterface5g
  • qzhou/openairinterface5g
  • nickmxxx/openairinterface5g
  • bin_he4/openairinterface5g
  • delarco/openairinterface5g
  • limx1980/openairinterface5g
  • Aniq/openairinterface5g
  • yassir63/openairinterface5g
  • orc318/openairinterface5g
  • vader/openairinterface5g
  • limx59/openairinterface5g
  • nadavaati_12345/openairinterface5g
  • jenshz/openairinterface5g
  • kuldeep/openairinterface5g
  • lurker/openairinterface5g
  • shariat/openairinterface5g
  • Alireza.najafzadeh/openairinterface5g
  • Ling/openairinterface5g
  • EvanKrall/openairinterface5g
  • youyih/openairinterface5g
  • anindya/openairinterface5g
  • ahan/openairinterface5g
  • beraoud/openairinterface5g
  • obejarano/openairinterface5g
  • Monti/openairinterface5g
  • akhamsi/openairinterface5g
  • Worker.N/openairinterface5g
  • zhangtu/openairinterface5g
  • desouza/openairinterface5g
  • zhijun/openairinterface5g
  • sureshkumar/openairinterface5g
  • milan/openairinterface5g
  • bigbangbingo/openairinterface5g
  • platini/openairinterface5g
  • muralir-nv/openairinterface5g
  • Joshua_Zhang/openairinterface5g
  • siddharthmurali1/openairinterface5g
  • sorinros/openairinterface5g
  • elainecao/openairinterface5g
  • sneltved/openairinterface5g
  • aikaterini.trilyraki/openairinterface5g
  • wujunning11/openairinterface5g
  • magounak/openairinterface5g
  • ycl1729020039/openairinterface5g
  • mayukhweb/openairinterface5g
  • wataru/openairinterface5g
  • afonsoli/openairinterface5g
  • ppokar/openairinterface5g
  • emest/openairinterface5g
  • Najib/openairinterface5g
  • liqing/openairinterface5g
  • gprshome/openairinterface5g
  • Dvevgedveccc/openairinterface5g
  • Elena_Lukashova/openairinterface5g
  • imaneouss/openairinterface5g
  • yangyuan/openairinterface5g
  • ycliang/openairinterface5g
  • rohanfds/openairinterface5g
  • cong2008abc/openairinterface5g
  • Giovanni/openairinterface5g
  • willvegapunk/openairinterface5g
  • Chen/openairinterface5g
  • Ella/openairinterface5g
  • kollabalu/openairinterface5g
  • tsaichanglan/openairinterface5g
  • Artifice/openairinterface5g
  • HJR0129/openairinterface5g
  • alextp/openairinterface5g
  • Changron/openairinterface5g
  • pedosb/openairinterface5g
  • Flozzen/openairinterface5g
  • hobei/openairinterface5g
  • WP_Jing/openairinterface5g
  • reset4/openairinterface5g
  • alexjoseph/openairinterface5g
  • latuan1710/openairinterface5g
  • wynter-wang/openairinterface5g
  • stt12706/openairinterface5g
  • sy/openairinterface5g
  • dzxu/openairinterface5g
  • ptizoom/openairinterface5g
  • Thierry/openairinterface5g
  • tjamc80/openairinterface5g
  • yenmuse/openairinterface5g
  • archerling/openairinterface5g
  • grahul/openairinterface5g
  • ashish.shri/openairinterface5g
  • TianyuChen/openairinterface5g
  • cuixf1/openairinterface5g
  • Jan/openairinterface5g
  • jboatenng/openairinterface5g_gpio
  • geokal/openairinterface5g
  • johannhg/openairinterface5g
  • TofunmiA/openairinterface5g
  • razvanursu/openairinterface5g-mac-scheduling
  • Julio/openairinterface5g
  • fredrichx/openairinterface5g
  • nems/openairinterface5g
  • wb_li/openairinterface5g
  • ferrieux/openairinterface5g
  • prajna_g/openairinterface-5-g-xnap-ho
  • mtinasc/openairinterface5g
  • Hofschroeer/openairinterface5g
  • buptxiaofeng/openairinterface5g
  • fjgh_759/openairinterface5g
  • calcel/openairinterface5g
  • Reem/openairinterface5g
  • havar_mind/openairinterface5g
  • shrinish/openairinterface5g
  • YANGHELINDE/openairinterface5g
  • lool/openairinterface5g
  • raghav1900/openairinterface5g
  • allan1201/openairinterface5g
  • ferris/openairinterface5g
  • seanzw/openairinterface5g
  • emad72/openairinterface5g
  • guojilong123/openairinterface5g
  • Rony99/openairinterface5g
  • lity/openairinterface5g
  • sshrivastava/openairinterface5g
  • zhihengzhang/openairinterface5g
  • Rakesh_B_B/openairinterface5g
  • baleeiro/openairinterface5g
  • 19125064/openairinterface5g
  • linlin/openairinterface5g
  • NA1VE/openairinterface5g
  • oai1B/openairinterface5g
  • daveprice/openairinterface5g
  • mo/openairinterface5g
  • dhanmeet/openairinterface5g
  • mv2290/openairinterface-5-g-test
  • pagmatt/openairinterface5g
  • mmTestNYU/openairinterface5g
  • mmezzavilla/openairinterface5g
  • sudhakarb/openairinterface5g
  • mekki/openairinterface5g
  • virtanen/openairinterface5g
  • dyyu/openairinterface5g
  • mohammed_safwan/openairinterface5g
  • venkat/openairinterface5g
  • rupadhya/openairinterface5g
  • adjou/openairinterface5g
  • samiemostafavi/openairinterface5g-edaf
  • Sreeram/openairinterface5g
  • oliverxsch/openairinterface5g
  • oai/openairinterface5g
160 results
Show changes
Showing
with 127 additions and 154 deletions
...@@ -237,7 +237,7 @@ rlc_am_receive_process_control_pdu( ...@@ -237,7 +237,7 @@ rlc_am_receive_process_control_pdu(
rlc_sn_t nack_sn,prev_nack_sn; rlc_sn_t nack_sn,prev_nack_sn;
sdu_size_t data_cnf_so_stop = 0x7FFF; sdu_size_t data_cnf_so_stop = 0x7FFF;
unsigned int nack_index; unsigned int nack_index;
boolean_t status = TRUE; bool status = true;
if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, tb_size_in_bytes_pP, &rlc_pP->control_pdu_info) >= 0) { if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, tb_size_in_bytes_pP, &rlc_pP->control_pdu_info) >= 0) {
rlc_am_tx_buffer_display(ctxt_pP, rlc_pP, " TX BUFFER BEFORE PROCESS OF STATUS PDU"); rlc_am_tx_buffer_display(ctxt_pP, rlc_pP, " TX BUFFER BEFORE PROCESS OF STATUS PDU");
...@@ -282,7 +282,7 @@ rlc_am_receive_process_control_pdu( ...@@ -282,7 +282,7 @@ rlc_am_receive_process_control_pdu(
if (RLC_AM_DIFF_SN(rlc_pP->vt_s,rlc_pP->vt_a) >= RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a)) { if (RLC_AM_DIFF_SN(rlc_pP->vt_s,rlc_pP->vt_a) >= RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a)) {
if (rlc_pP->control_pdu_info.num_nack == 0) { if (rlc_pP->control_pdu_info.num_nack == 0) {
while (sn_cursor != ack_sn) { while (sn_cursor != ack_sn) {
rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor,TRUE); rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor, true);
sn_cursor = RLC_AM_NEXT_SN(sn_cursor); sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
} }
...@@ -294,7 +294,7 @@ rlc_am_receive_process_control_pdu( ...@@ -294,7 +294,7 @@ rlc_am_receive_process_control_pdu(
prev_nack_sn = 0x3FFF; prev_nack_sn = 0x3FFF;
while (sn_cursor != nack_sn) { while (sn_cursor != nack_sn) {
rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor,TRUE); rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor, true);
sn_cursor = RLC_AM_NEXT_SN(sn_cursor); sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
} }
...@@ -316,7 +316,7 @@ rlc_am_receive_process_control_pdu( ...@@ -316,7 +316,7 @@ rlc_am_receive_process_control_pdu(
rlc_am_ack_pdu(ctxt_pP, rlc_am_ack_pdu(ctxt_pP,
rlc_pP, rlc_pP,
sn_cursor, sn_cursor,
FALSE); false);
} else { } else {
status = rlc_am_nack_pdu (ctxt_pP, status = rlc_am_nack_pdu (ctxt_pP,
rlc_pP, rlc_pP,
...@@ -348,13 +348,13 @@ rlc_am_receive_process_control_pdu( ...@@ -348,13 +348,13 @@ rlc_am_receive_process_control_pdu(
LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" WARNING CONTROL PDU ACK SN %d OUT OF WINDOW vtA=%d vtS=%d\n", LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" WARNING CONTROL PDU ACK SN %d OUT OF WINDOW vtA=%d vtS=%d\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,rlc_pP->vt_a,rlc_pP->vt_s); PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,rlc_pP->vt_a,rlc_pP->vt_s);
*tb_size_in_bytes_pP = 0; *tb_size_in_bytes_pP = 0;
status = FALSE; status = false;
} }
} else { } else {
LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR IN DECODING CONTROL PDU\n", LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR IN DECODING CONTROL PDU\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP)); PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
*tb_size_in_bytes_pP = 0; *tb_size_in_bytes_pP = 0;
status = FALSE; status = false;
} }
if (status) { if (status) {
...@@ -480,8 +480,8 @@ rlc_am_send_status_pdu( ...@@ -480,8 +480,8 @@ rlc_am_send_status_pdu(
int waited_so = 0; int waited_so = 0;
mem_block_t *tb_p = NULL; mem_block_t *tb_p = NULL;
sdu_size_t pdu_size = 0; sdu_size_t pdu_size = 0;
boolean_t status_report_completed = false; bool status_report_completed = false;
boolean_t segment_loop_end = false; bool segment_loop_end = false;
memset(&control_pdu_info, 0, sizeof(rlc_am_control_pdu_info_t)); memset(&control_pdu_info, 0, sizeof(rlc_am_control_pdu_info_t));
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] nb_bits_to_transmit %d (15 already allocated for header)\n", LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] nb_bits_to_transmit %d (15 already allocated for header)\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
......
...@@ -1170,7 +1170,7 @@ void rlc_am_v9_3_0_test(void) ...@@ -1170,7 +1170,7 @@ void rlc_am_v9_3_0_test(void)
{ {
// initscr(); // initscr();
// cbreak(); // cbreak();
// keypad(stdscr, TRUE); // keypad(stdscr, true);
// under test // under test
pool_buffer_init(); pool_buffer_init();
set_comp_log(RLC, LOG_ERR, LOG_MED, 1); set_comp_log(RLC, LOG_ERR, LOG_MED, 1);
......
...@@ -111,7 +111,7 @@ rlc_am_check_timer_poll_retransmit( ...@@ -111,7 +111,7 @@ rlc_am_check_timer_poll_retransmit(
} }
rlc_pP->force_poll= TRUE; rlc_pP->force_poll = true;
//BugFix : new ms_time_out is computed when next poll is transmitter //BugFix : new ms_time_out is computed when next poll is transmitter
} }
} }
......
...@@ -31,13 +31,11 @@ ...@@ -31,13 +31,11 @@
#include "list.h" #include "list.h"
#include "LAYER2/MAC/mac_extern.h" #include "LAYER2/MAC/mac_extern.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void void rlc_tm_send_sdu(const protocol_ctxt_t* const ctxt_pP,
rlc_tm_send_sdu ( rlc_tm_entity_t * const rlc_pP,
const protocol_ctxt_t* const ctxt_pP, const bool error_indicationP,
rlc_tm_entity_t * const rlc_pP, uint8_t * const srcP,
const boolean_t error_indicationP, const sdu_size_t length_in_bitsP)
uint8_t * const srcP,
const sdu_size_t length_in_bitsP)
{ {
int length_in_bytes; int length_in_bytes;
#if DEBUG_RLC_TM_DISPLAY_ASCII_DATA #if DEBUG_RLC_TM_DISPLAY_ASCII_DATA
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
/*! \fn void rlc_tm_send_sdu ( /*! \fn void rlc_tm_send_sdu (
* const protocol_ctxt_t* const ctxt_pP, * const protocol_ctxt_t* const ctxt_pP,
* rlc_tm_entity_t * const rlc_pP, * rlc_tm_entity_t * const rlc_pP,
* const boolean_t error_indicationP, * const bool error_indicationP,
* uint8_t * const srcP, * uint8_t * const srcP,
* const sdu_size_t length_in_bitsP) * const sdu_size_t length_in_bitsP)
* \brief Send SDU if any reassemblied to upper layer. * \brief Send SDU if any reassemblied to upper layer.
...@@ -60,12 +60,11 @@ ...@@ -60,12 +60,11 @@
* \param[in] srcP SDU data pointer. * \param[in] srcP SDU data pointer.
* \param[in] length_in_bitsP Length of SDU in bits. * \param[in] length_in_bitsP Length of SDU in bits.
*/ */
void rlc_tm_send_sdu ( void rlc_tm_send_sdu(const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlc_pP,
rlc_tm_entity_t * const rlc_pP, const bool error_indicationP,
const boolean_t error_indicationP, uint8_t * const srcP,
uint8_t * const srcP, const sdu_size_t length_in_bitsP);
const sdu_size_t length_in_bitsP);
/*! \fn void rlc_tm_no_segment (const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP) /*! \fn void rlc_tm_no_segment (const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP)
* \brief Schedule a SDU to be transmited by lower layers. * \brief Schedule a SDU to be transmited by lower layers.
......
...@@ -40,14 +40,13 @@ ...@@ -40,14 +40,13 @@
* \brief Structure containing a RLC TM instance protocol variables, allocation variables, buffers and other miscellaneous variables. * \brief Structure containing a RLC TM instance protocol variables, allocation variables, buffers and other miscellaneous variables.
*/ */
typedef struct rlc_tm_entity { typedef struct rlc_tm_entity {
boolean_t allocation; /*!< \brief Boolean for rlc_tm_entity_t struct allocation. */ bool allocation; /*!< \brief Boolean for rlc_tm_entity_t struct allocation. */
rlc_protocol_state_t protocol_state; /*!< \brief Protocol state, can be RLC_NULL_STATE, RLC_DATA_TRANSFER_READY_STATE, RLC_LOCAL_SUSPEND_STATE. */ rlc_protocol_state_t protocol_state; /*!< \brief Protocol state, can be RLC_NULL_STATE, RLC_DATA_TRANSFER_READY_STATE, RLC_LOCAL_SUSPEND_STATE. */
boolean_t is_uplink_downlink; /*!< \brief Is this instance is a transmitter, a receiver or both? */ bool is_uplink_downlink; /*!< \brief Is this instance is a transmitter, a receiver or both? */
boolean_t is_data_plane; /*!< \brief To know if the RLC belongs to a data radio bearer or a signalling radio bearer, for statistics and trace purpose. */ bool is_data_plane; /*!< \brief To know if the RLC belongs to a data radio bearer or a signalling radio bearer, for statistics and trace purpose. */
// for stats and trace purpose : // for stats and trace purpose :
logical_chan_id_t channel_id; /*!< \brief Transport channel identifier. */ logical_chan_id_t channel_id; /*!< \brief Transport channel identifier. */
rb_id_t rb_id; /*!< \brief Radio bearer identifier, for statistics and trace purpose. */ rb_id_t rb_id; /*!< \brief Radio bearer identifier, for statistics and trace purpose. */
//boolean_t is_enb; /*!< \brief To know if the RLC belongs to a eNB or UE. */
//----------------------------- //-----------------------------
// tranmission // tranmission
//----------------------------- //-----------------------------
......
...@@ -133,10 +133,9 @@ rlc_tm_cleanup ( ...@@ -133,10 +133,9 @@ rlc_tm_cleanup (
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void rlc_tm_configure( void rlc_tm_configure(const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP,
rlc_tm_entity_t * const rlcP, const bool is_uplink_downlinkP)
const boolean_t is_uplink_downlinkP)
{ {
rlcP->is_uplink_downlink = is_uplink_downlinkP; rlcP->is_uplink_downlink = is_uplink_downlinkP;
rlc_tm_reset_state_variables (ctxt_pP, rlcP); rlc_tm_reset_state_variables (ctxt_pP, rlcP);
......
...@@ -78,27 +78,24 @@ void rlc_tm_init ( ...@@ -78,27 +78,24 @@ void rlc_tm_init (
* \brief Reset protocol variables and state variables to initial values. * \brief Reset protocol variables and state variables to initial values.
* \param[in] rlcP RLC TM protocol instance pointer. * \param[in] rlcP RLC TM protocol instance pointer.
*/ */
void rlc_tm_reset_state_variables ( void rlc_tm_reset_state_variables(const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP);
rlc_tm_entity_t * const rlcP);
/*! \fn void rlc_tm_cleanup(rlc_tm_entity_t * const rlcP) /*! \fn void rlc_tm_cleanup(rlc_tm_entity_t * const rlcP)
* \brief Free all allocated memory (lists and buffers) previously allocated by this RLC TM instance. * \brief Free all allocated memory (lists and buffers) previously allocated by this RLC TM instance.
* \param[in] rlcP RLC TM protocol instance pointer. * \param[in] rlcP RLC TM protocol instance pointer.
*/ */
void rlc_tm_cleanup( void rlc_tm_cleanup(rlc_tm_entity_t * const rlcP);
rlc_tm_entity_t * const rlcP);
/*! \fn void rlc_tm_configure(const protocol_ctxt_t* const ctxt_pP,rlc_tm_entity_t * const rlcP, const boolean_t is_uplink_downlinkP) /*! \fn void rlc_tm_configure(const protocol_ctxt_t* const ctxt_pP,rlc_tm_entity_t * const rlcP, const bool is_uplink_downlinkP)
* \brief Configure RLC TM protocol parameters. * \brief Configure RLC TM protocol parameters.
* \param[in] rlcP RLC TM protocol instance pointer. * \param[in] rlcP RLC TM protocol instance pointer.
* \param[in] is_uplink_downlinkP Is this instance is TRANSMITTER_ONLY, * \param[in] is_uplink_downlinkP Is this instance is TRANSMITTER_ONLY,
RECEIVER_ONLY, or TRANSMITTER_AND_RECEIVER. RECEIVER_ONLY, or TRANSMITTER_AND_RECEIVER.
*/ */
void rlc_tm_configure( void rlc_tm_configure(const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP,
rlc_tm_entity_t * const rlcP, const bool is_uplink_downlinkP);
const boolean_t is_uplink_downlinkP);
/*! \fn void rlc_tm_set_debug_infos(const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP, const rb_id_t rb_idP, const srb_flag_t srb_flagP) /*! \fn void rlc_tm_set_debug_infos(const protocol_ctxt_t* const ctxt_pP, rlc_tm_entity_t * const rlcP, const rb_id_t rb_idP, const srb_flag_t srb_flagP)
* \brief Set debug informations for a RLC TM protocol instance, these informations are only for trace purpose. * \brief Set debug informations for a RLC TM protocol instance, these informations are only for trace purpose.
......
...@@ -263,7 +263,7 @@ rlc_um_init ( ...@@ -263,7 +263,7 @@ rlc_um_init (
} }
rlc_pP->first_pdu = 1; rlc_pP->first_pdu = 1;
rlc_pP->initialized = TRUE; rlc_pP->initialized = true;
} }
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
......
...@@ -53,12 +53,11 @@ typedef struct rlc_um_timer_s { ...@@ -53,12 +53,11 @@ typedef struct rlc_um_timer_s {
*/ */
typedef struct rlc_um_entity_s { typedef struct rlc_um_entity_s {
boolean_t initialized; /*!< \brief Boolean for rlc_am_entity_t struct initialization. */ bool initialized; /*!< \brief Boolean for rlc_am_entity_t struct initialization. */
boolean_t is_uplink_downlink; /*!< \brief Is this instance is a transmitter, a receiver or both? */ bool is_uplink_downlink; /*!< \brief Is this instance is a transmitter, a receiver or both? */
rlc_protocol_state_t protocol_state; /*!< \brief Protocol state, can be RLC_NULL_STATE, RLC_DATA_TRANSFER_READY_STATE, RLC_LOCAL_SUSPEND_STATE. */ rlc_protocol_state_t protocol_state; /*!< \brief Protocol state, can be RLC_NULL_STATE, RLC_DATA_TRANSFER_READY_STATE, RLC_LOCAL_SUSPEND_STATE. */
boolean_t is_data_plane; /*!< \brief To know if the RLC belongs to a data radio bearer or a signalling radio bearer, for statistics and trace purpose. */ bool is_data_plane; /*!< \brief To know if the RLC belongs to a data radio bearer or a signalling radio bearer, for statistics and trace purpose. */
//boolean_t is_enb; /*!< \brief To know if the RLC belongs to a eNB or UE. */ bool is_mxch; /*!< \brief To know if the RLC belongs to a MBMS bearer. */
boolean_t is_mxch; /*!< \brief To know if the RLC belongs to a MBMS bearer. */
//----------------------------- //-----------------------------
// PROTOCOL VARIABLES // PROTOCOL VARIABLES
//----------------------------- //-----------------------------
...@@ -114,7 +113,7 @@ typedef struct rlc_um_entity_s { ...@@ -114,7 +113,7 @@ typedef struct rlc_um_entity_s {
//----------------------------- //-----------------------------
// STATISTICS // STATISTICS
//----------------------------- //-----------------------------
boolean_t first_pdu; /*!< \brief Act as a boolean, tells if the next PDU is the first PDU to be received. */ bool first_pdu; /*!< \brief Act as a boolean, tells if the next PDU is the first PDU to be received. */
unsigned int stat_tx_pdcp_sdu; /*!< \brief Number of SDUs received from upper layers. */ unsigned int stat_tx_pdcp_sdu; /*!< \brief Number of SDUs received from upper layers. */
unsigned int stat_tx_pdcp_bytes; /*!< \brief Number of SDU bytes received from upper layers. */ unsigned int stat_tx_pdcp_bytes; /*!< \brief Number of SDU bytes received from upper layers. */
......
...@@ -41,13 +41,12 @@ ...@@ -41,13 +41,12 @@
#include "common/ran_context.h" #include "common/ran_context.h"
extern RAN_CONTEXT_t RC; extern RAN_CONTEXT_t RC;
extern boolean_t pdcp_data_ind( extern bool pdcp_data_ind(const protocol_ctxt_t *const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP, const srb_flag_t srb_flagP,
const srb_flag_t srb_flagP, const MBMS_flag_t MBMS_flagP,
const MBMS_flag_t MBMS_flagP, const rb_id_t rb_idP,
const rb_id_t rb_idP, const sdu_size_t sdu_buffer_sizeP,
const sdu_size_t sdu_buffer_sizeP, mem_block_t *const sdu_buffer_pP);
mem_block_t *const sdu_buffer_pP);
#define DEBUG_RLC_PDCP_INTERFACE 1 #define DEBUG_RLC_PDCP_INTERFACE 1
//#define TRACE_RLC_PAYLOAD 1 //#define TRACE_RLC_PAYLOAD 1
...@@ -397,7 +396,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t *const ctxt_pP, ...@@ -397,7 +396,7 @@ rlc_op_status_t rlc_data_req (const protocol_ctxt_t *const ctxt_pP,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
if (MBMS_flagP == TRUE) { if (MBMS_flagP == true) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
log_ch_id = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP); log_ch_id = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP);
mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][log_ch_id]; mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][log_ch_id];
......
...@@ -107,7 +107,7 @@ typedef struct { ...@@ -107,7 +107,7 @@ typedef struct {
rlc_buffer_occupancy_t pdus_in_buffer; /*!< \brief Number of PDUs buffered in RLC protocol instance (OBSOLETE). */ rlc_buffer_occupancy_t pdus_in_buffer; /*!< \brief Number of PDUs buffered in RLC protocol instance (OBSOLETE). */
frame_t head_sdu_creation_time; /*!< \brief Head SDU creation time. */ frame_t head_sdu_creation_time; /*!< \brief Head SDU creation time. */
sdu_size_t head_sdu_remaining_size_to_send; /*!< \brief remaining size of sdu: could be the total size or the remaining size of already segmented sdu */ sdu_size_t head_sdu_remaining_size_to_send; /*!< \brief remaining size of sdu: could be the total size or the remaining size of already segmented sdu */
boolean_t head_sdu_is_segmented; /*!< \brief 0 if head SDU has not been segmented, 1 if already segmented */ bool head_sdu_is_segmented; /*!< \brief 0 if head SDU has not been segmented, 1 if already segmented */
} mac_rlc_status_resp_t; } mac_rlc_status_resp_t;
......
...@@ -425,8 +425,8 @@ rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind( ...@@ -425,8 +425,8 @@ rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind(
/* Assumptions : for UE only */ /* Assumptions : for UE only */
/* At each TTI, Buffer Occupancy is first computed in mac_rlc_status_ind called by MAC ue_scheduler() function */ /* At each TTI, Buffer Occupancy is first computed in mac_rlc_status_ind called by MAC ue_scheduler() function */
/* Then this function is called during MAC multiplexing ue_get_sdu(), and it may be call several times for the same bearer if it is in AM mode and there are several PDU types to transmit */ /* Then this function is called during MAC multiplexing ue_get_sdu(), and it may be call several times for the same bearer if it is in AM mode and there are several PDU types to transmit */
//AssertFatal(enb_flagP == FALSE,"RLC Tx mac_rlc_get_buffer_occupancy_ind function is not implemented for eNB LcId=%d\n", channel_idP); //AssertFatal(enb_flagP == false,"RLC Tx mac_rlc_get_buffer_occupancy_ind function is not implemented for eNB LcId=%d\n", channel_idP);
if(enb_flagP != FALSE) { if(enb_flagP != false) {
LOG_E(RLC, "Tx mac_rlc_get_buffer_occupancy_ind function is not implemented for eNB LcId=%u\n", channel_idP); LOG_E(RLC, "Tx mac_rlc_get_buffer_occupancy_ind function is not implemented for eNB LcId=%u\n", channel_idP);
return 0; return 0;
} }
......
...@@ -480,7 +480,7 @@ rlc_op_status_t rrc_rlc_remove_rlc ( ...@@ -480,7 +480,7 @@ rlc_op_status_t rrc_rlc_remove_rlc (
/* for no gcc warnings */ /* for no gcc warnings */
(void)lcid; (void)lcid;
if (MBMS_flagP == TRUE) { if (MBMS_flagP == true) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
lcid = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP); lcid = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP);
mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lcid]; mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lcid];
...@@ -581,7 +581,7 @@ rlc_union_t *rrc_rlc_add_rlc ( ...@@ -581,7 +581,7 @@ rlc_union_t *rrc_rlc_add_rlc (
rlc_mbms_id_t *mbms_id_p = NULL; rlc_mbms_id_t *mbms_id_p = NULL;
logical_chan_id_t lcid = 0; logical_chan_id_t lcid = 0;
if (MBMS_flagP == FALSE) { if (MBMS_flagP == false) {
//AssertFatal (rb_idP < NB_RB_MAX, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX); //AssertFatal (rb_idP < NB_RB_MAX, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
//AssertFatal (chan_idP < RLC_MAX_LC, "LC id is too high (%u/%d)!\n", chan_idP, RLC_MAX_LC); //AssertFatal (chan_idP < RLC_MAX_LC, "LC id is too high (%u/%d)!\n", chan_idP, RLC_MAX_LC);
if(rb_idP >= NB_RB_MAX) { if(rb_idP >= NB_RB_MAX) {
...@@ -595,7 +595,7 @@ rlc_union_t *rrc_rlc_add_rlc ( ...@@ -595,7 +595,7 @@ rlc_union_t *rrc_rlc_add_rlc (
} }
} }
if (MBMS_flagP == TRUE) { if (MBMS_flagP == true) {
if (ctxt_pP->enb_flag) { if (ctxt_pP->enb_flag) {
lcid = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP); lcid = rlc_mbms_enb_get_lcid_by_rb_id(ctxt_pP->module_id,rb_idP);
mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lcid]; mbms_id_p = &rlc_mbms_lcid2service_session_id_eNB[ctxt_pP->module_id][lcid];
...@@ -640,11 +640,11 @@ rlc_union_t *rrc_rlc_add_rlc ( ...@@ -640,11 +640,11 @@ rlc_union_t *rrc_rlc_add_rlc (
} else if (h_rc == HASH_TABLE_KEY_NOT_EXISTS) { } else if (h_rc == HASH_TABLE_KEY_NOT_EXISTS) {
rlc_union_p = calloc(1, sizeof(rlc_union_t)); rlc_union_p = calloc(1, sizeof(rlc_union_t));
h_rc = hashtable_insert(rlc_coll_p, key, rlc_union_p); h_rc = hashtable_insert(rlc_coll_p, key, rlc_union_p);
if(MBMS_flagP != TRUE) if(MBMS_flagP != true)
h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p); h_lcid_rc = hashtable_insert(rlc_coll_p, key_lcid, rlc_union_p);
if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) { if ((h_rc == HASH_TABLE_OK) && (h_lcid_rc == HASH_TABLE_OK)) {
if (MBMS_flagP == TRUE) { if (MBMS_flagP == true) {
LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n", LOG_I(RLC, PROTOCOL_CTXT_FMT" RLC service id %u session id %u rrc_rlc_add_rlc\n",
PROTOCOL_CTXT_ARGS(ctxt_pP), PROTOCOL_CTXT_ARGS(ctxt_pP),
mbms_id_p->service_id, mbms_id_p->service_id,
......
...@@ -359,15 +359,14 @@ static void enqueue_pdcp_data_ind( ...@@ -359,15 +359,14 @@ static void enqueue_pdcp_data_ind(
if (pthread_mutex_unlock(&pq.m) != 0) abort(); if (pthread_mutex_unlock(&pq.m) != 0) abort();
} }
boolean_t pdcp_data_ind( bool pdcp_data_ind(const protocol_ctxt_t *const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP, const srb_flag_t srb_flagP,
const srb_flag_t srb_flagP, const MBMS_flag_t MBMS_flagP,
const MBMS_flag_t MBMS_flagP, const rb_id_t rb_id,
const rb_id_t rb_id, const sdu_size_t sdu_buffer_size,
const sdu_size_t sdu_buffer_size, mem_block_t *const sdu_buffer,
mem_block_t *const sdu_buffer, const uint32_t *const srcID,
const uint32_t *const srcID, const uint32_t *const dstID)
const uint32_t *const dstID)
{ {
enqueue_pdcp_data_ind(ctxt_pP, enqueue_pdcp_data_ind(ctxt_pP,
srb_flagP, srb_flagP,
...@@ -438,7 +437,7 @@ static void *enb_tun_read_thread(void *_) ...@@ -438,7 +437,7 @@ static void *enb_tun_read_thread(void *_)
ctxt.rnti = rnti; ctxt.rnti = rnti;
uint8_t qfi = 7; uint8_t qfi = 7;
boolean_t rqi = 0; bool rqi = 0;
int pdusession_id = 10; int pdusession_id = 10;
sdap_data_req(&ctxt, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED, sdap_data_req(&ctxt, SRB_FLAG_NO, rb_id, RLC_MUI_UNDEFINED,
...@@ -484,7 +483,7 @@ static void *ue_tun_read_thread(void *_) ...@@ -484,7 +483,7 @@ static void *ue_tun_read_thread(void *_)
ctxt.rnti = rnti; ctxt.rnti = rnti;
boolean_t dc = SDAP_HDR_UL_DATA_PDU; bool dc = SDAP_HDR_UL_DATA_PDU;
uint8_t qfi = 7; uint8_t qfi = 7;
int pdusession_id = 10; int pdusession_id = 10;
...@@ -858,7 +857,7 @@ void pdcp_run(const protocol_ctxt_t *const ctxt_pP) ...@@ -858,7 +857,7 @@ void pdcp_run(const protocol_ctxt_t *const ctxt_pP)
RRC_DCCH_DATA_REQ(msg_p).mode, RRC_DCCH_DATA_REQ(msg_p).mode,
NULL, NULL); NULL, NULL);
if (result != TRUE) if (result != true)
LOG_E(PDCP, "PDCP data request failed!\n"); LOG_E(PDCP, "PDCP data request failed!\n");
result = itti_free(ITTI_MSG_ORIGIN_ID(msg_p), RRC_DCCH_DATA_REQ(msg_p).sdu_p); result = itti_free(ITTI_MSG_ORIGIN_ID(msg_p), RRC_DCCH_DATA_REQ(msg_p).sdu_p);
AssertFatal(result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); AssertFatal(result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
...@@ -950,7 +949,7 @@ static void add_drb_am(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s, ...@@ -950,7 +949,7 @@ static void add_drb_am(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s,
int has_sdap = 0; int has_sdap = 0;
int has_sdapULheader=0; int has_sdapULheader=0;
int has_sdapDLheader=0; int has_sdapDLheader=0;
boolean_t is_sdap_DefaultDRB = false; bool is_sdap_DefaultDRB = false;
NR_QFI_t *mappedQFIs2Add = NULL; NR_QFI_t *mappedQFIs2Add = NULL;
uint8_t mappedQFIs2AddCount=0; uint8_t mappedQFIs2AddCount=0;
if (s->cnAssociation->present == NR_DRB_ToAddMod__cnAssociation_PR_eps_BearerIdentity) if (s->cnAssociation->present == NR_DRB_ToAddMod__cnAssociation_PR_eps_BearerIdentity)
...@@ -1033,20 +1032,18 @@ static void add_drb(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s, ...@@ -1033,20 +1032,18 @@ static void add_drb(int is_gnb, int rnti, struct NR_DRB_ToAddMod *s,
LOG_I(PDCP, "%s:%s:%d: added DRB for UE RNTI %x\n", __FILE__, __FUNCTION__, __LINE__, rnti); LOG_I(PDCP, "%s:%s:%d: added DRB for UE RNTI %x\n", __FILE__, __FUNCTION__, __LINE__, rnti);
} }
boolean_t nr_rrc_pdcp_config_asn1_req( bool nr_rrc_pdcp_config_asn1_req(const protocol_ctxt_t *const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP, NR_SRB_ToAddModList_t *const srb2add_list,
NR_SRB_ToAddModList_t *const srb2add_list, NR_DRB_ToAddModList_t *const drb2add_list,
NR_DRB_ToAddModList_t *const drb2add_list, NR_DRB_ToReleaseList_t *const drb2release_list,
NR_DRB_ToReleaseList_t *const drb2release_list, const uint8_t security_modeP,
const uint8_t security_modeP, uint8_t *const kRRCenc,
uint8_t *const kRRCenc, uint8_t *const kRRCint,
uint8_t *const kRRCint, uint8_t *const kUPenc,
uint8_t *const kUPenc, uint8_t *const kUPint,
uint8_t *const kUPint LTE_PMCH_InfoList_r9_t *pmch_InfoList_r9,
,LTE_PMCH_InfoList_r9_t *pmch_InfoList_r9 rb_id_t *const defaultDRB,
,rb_id_t *const defaultDRB, struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_bearer2add_list)
struct NR_CellGroupConfig__rlc_BearerToAddModList *rlc_bearer2add_list)
//struct NR_RLC_Config *rlc_Config)
{ {
int rnti = ctxt_pP->rnti; int rnti = ctxt_pP->rnti;
int i; int i;
...@@ -1104,17 +1101,16 @@ boolean_t nr_rrc_pdcp_config_asn1_req( ...@@ -1104,17 +1101,16 @@ boolean_t nr_rrc_pdcp_config_asn1_req(
} }
/* Dummy function due to dependency from LTE libraries */ /* Dummy function due to dependency from LTE libraries */
boolean_t rrc_pdcp_config_asn1_req( bool rrc_pdcp_config_asn1_req(const protocol_ctxt_t *const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP, LTE_SRB_ToAddModList_t *const srb2add_list,
LTE_SRB_ToAddModList_t *const srb2add_list, LTE_DRB_ToAddModList_t *const drb2add_list,
LTE_DRB_ToAddModList_t *const drb2add_list, LTE_DRB_ToReleaseList_t *const drb2release_list,
LTE_DRB_ToReleaseList_t *const drb2release_list, const uint8_t security_modeP,
const uint8_t security_modeP, uint8_t *const kRRCenc,
uint8_t *const kRRCenc, uint8_t *const kRRCint,
uint8_t *const kRRCint, uint8_t *const kUPenc,
uint8_t *const kUPenc LTE_PMCH_InfoList_r9_t *pmch_InfoList_r9,
,LTE_PMCH_InfoList_r9_t *pmch_InfoList_r9 rb_id_t *const defaultDRB)
,rb_id_t *const defaultDRB)
{ {
return 0; return 0;
} }
...@@ -1219,8 +1215,7 @@ uint64_t get_pdcp_optmask(void) ...@@ -1219,8 +1215,7 @@ uint64_t get_pdcp_optmask(void)
return pdcp_optmask; return pdcp_optmask;
} }
boolean_t pdcp_remove_UE( bool pdcp_remove_UE(const protocol_ctxt_t *const ctxt_pP)
const protocol_ctxt_t *const ctxt_pP)
{ {
int rnti = ctxt_pP->rnti; int rnti = ctxt_pP->rnti;
...@@ -1275,13 +1270,12 @@ void pdcp_config_set_security( ...@@ -1275,13 +1270,12 @@ void pdcp_config_set_security(
nr_pdcp_manager_unlock(nr_pdcp_ue_manager); nr_pdcp_manager_unlock(nr_pdcp_ue_manager);
} }
static boolean_t pdcp_data_req_srb( static bool pdcp_data_req_srb(protocol_ctxt_t *ctxt_pP,
protocol_ctxt_t *ctxt_pP, const rb_id_t rb_id,
const rb_id_t rb_id, const mui_t muiP,
const mui_t muiP, const confirm_t confirmP,
const confirm_t confirmP, const sdu_size_t sdu_buffer_size,
const sdu_size_t sdu_buffer_size, unsigned char *const sdu_buffer)
unsigned char *const sdu_buffer)
{ {
LOG_D(PDCP, "%s() called, size %d\n", __func__, sdu_buffer_size); LOG_D(PDCP, "%s() called, size %d\n", __func__, sdu_buffer_size);
nr_pdcp_ue_t *ue; nr_pdcp_ue_t *ue;
...@@ -1322,13 +1316,12 @@ static boolean_t pdcp_data_req_srb( ...@@ -1322,13 +1316,12 @@ static boolean_t pdcp_data_req_srb(
} }
static boolean_t pdcp_data_req_drb( static bool pdcp_data_req_drb(protocol_ctxt_t *ctxt_pP,
protocol_ctxt_t *ctxt_pP, const rb_id_t rb_id,
const rb_id_t rb_id, const mui_t muiP,
const mui_t muiP, const confirm_t confirmP,
const confirm_t confirmP, const sdu_size_t sdu_buffer_size,
const sdu_size_t sdu_buffer_size, unsigned char *const sdu_buffer)
unsigned char *const sdu_buffer)
{ {
LOG_D(PDCP, "%s() called, size %d\n", __func__, sdu_buffer_size); LOG_D(PDCP, "%s() called, size %d\n", __func__, sdu_buffer_size);
nr_pdcp_ue_t *ue; nr_pdcp_ue_t *ue;
...@@ -1368,19 +1361,16 @@ static boolean_t pdcp_data_req_drb( ...@@ -1368,19 +1361,16 @@ static boolean_t pdcp_data_req_drb(
return 1; return 1;
} }
boolean_t cu_f1u_data_req( bool cu_f1u_data_req(protocol_ctxt_t *ctxt_pP,
protocol_ctxt_t *ctxt_pP, const srb_flag_t srb_flagP,
const srb_flag_t srb_flagP, const rb_id_t rb_id,
const rb_id_t rb_id, const mui_t muiP,
const mui_t muiP, const confirm_t confirmP,
const confirm_t confirmP, const sdu_size_t sdu_buffer_size,
const sdu_size_t sdu_buffer_size, unsigned char *const sdu_buffer,
unsigned char *const sdu_buffer, const pdcp_transmission_mode_t mode,
const pdcp_transmission_mode_t mode const uint32_t *const sourceL2Id,
,const uint32_t *const sourceL2Id const uint32_t *const destinationL2Id) {
,const uint32_t *const destinationL2Id
) {
//Force instance id to 0, OAI incoherent instance management //Force instance id to 0, OAI incoherent instance management
ctxt_pP->instance=0; ctxt_pP->instance=0;
mem_block_t *memblock = get_free_mem_block(sdu_buffer_size, __func__); mem_block_t *memblock = get_free_mem_block(sdu_buffer_size, __func__);
...@@ -1397,18 +1387,16 @@ boolean_t cu_f1u_data_req( ...@@ -1397,18 +1387,16 @@ boolean_t cu_f1u_data_req(
return ret; return ret;
} }
boolean_t pdcp_data_req( bool pdcp_data_req(protocol_ctxt_t *ctxt_pP,
protocol_ctxt_t *ctxt_pP, const srb_flag_t srb_flagP,
const srb_flag_t srb_flagP, const rb_id_t rb_id,
const rb_id_t rb_id, const mui_t muiP,
const mui_t muiP, const confirm_t confirmP,
const confirm_t confirmP, const sdu_size_t sdu_buffer_size,
const sdu_size_t sdu_buffer_size, unsigned char *const sdu_buffer,
unsigned char *const sdu_buffer, const pdcp_transmission_mode_t mode,
const pdcp_transmission_mode_t mode const uint32_t *const sourceL2Id,
,const uint32_t *const sourceL2Id const uint32_t *const destinationL2Id)
,const uint32_t *const destinationL2Id
)
{ {
if (srb_flagP) { if (srb_flagP) {
return pdcp_data_req_srb(ctxt_pP, rb_id, muiP, confirmP, sdu_buffer_size, sdu_buffer); return pdcp_data_req_srb(ctxt_pP, rb_id, muiP, confirmP, sdu_buffer_size, sdu_buffer);
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.