Use same port number for source and destination number in new gtp implementation.
This commit is contained in:
@@ -421,7 +421,7 @@ typedef struct NRRrcConfigurationReq_s {
|
||||
|
||||
// UE: NAS -> RRC messages
|
||||
typedef kenb_refresh_req_t NasKenbRefreshReq;
|
||||
typedef cell_info_req_t NasCellSelectionReq;
|
||||
typedef cell_info_req_t NasCellSelectionReq __attribute__ (( aligned (__alignof__(char)) ));
|
||||
typedef nas_establish_req_t NasConnEstabliReq;
|
||||
typedef ul_info_transfer_req_t NasUlDataReq;
|
||||
|
||||
|
||||
@@ -483,7 +483,7 @@ typedef struct {
|
||||
uint8_t status;
|
||||
PC5SignallingMessage pc5_signalling_message;
|
||||
} pc5sPrimitive;
|
||||
} __attribute__((__packed__)) sidelink_pc5s_element;
|
||||
} __attribute__((__packed__, aligned (__alignof__(char)))) sidelink_pc5s_element;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
@@ -603,7 +603,7 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
||||
//int optval;
|
||||
int bytes_received;
|
||||
sidelink_pc5s_element *sl_pc5s_msg_send = NULL;
|
||||
pc5s_header_t *pc5s_header = NULL;
|
||||
pc5s_header_t *pc5s_header = NULL;
|
||||
rb_id_t rab_id = 0;
|
||||
//TTN for D2D (PC5S)
|
||||
// receive a message from ProSe App
|
||||
@@ -704,6 +704,12 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
||||
pc5s_header->rb_id,
|
||||
rab_id,
|
||||
pc5s_header->data_size);
|
||||
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
||||
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
||||
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
||||
*/
|
||||
uint32_t sourceL2Id = pc5s_header->sourceL2Id;
|
||||
uint32_t destinationL2Id = pc5s_header->destinationL2Id;
|
||||
pdcp_data_req(
|
||||
&ctxt,
|
||||
SRB_FLAG_NO,
|
||||
@@ -713,9 +719,11 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
||||
pc5s_header->data_size,
|
||||
(unsigned char *)receive_buf,
|
||||
PDCP_TRANSMISSION_MODE_DATA,
|
||||
&pc5s_header->sourceL2Id,
|
||||
&pc5s_header->destinationL2Id
|
||||
&sourceL2Id,
|
||||
&destinationL2Id
|
||||
);
|
||||
pc5s_header->sourceL2Id = sourceL2Id;
|
||||
pc5s_header->destinationL2Id=destinationL2Id;
|
||||
} else { /* else of h_rc == HASH_TABLE_OK */
|
||||
MSC_LOG_RX_DISCARDED_MESSAGE(
|
||||
(ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
|
||||
@@ -759,6 +767,12 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
||||
pc5s_header->rb_id,
|
||||
DEFAULT_RAB_ID,
|
||||
pc5s_header->data_size);
|
||||
/* pointers to pc5s_header fields possibly not aligned because pc5s_header points to a packed structure
|
||||
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
||||
* gcc, from v9, now warns about it. fix these warnings by using local variables
|
||||
*/
|
||||
uint32_t sourceL2Id = pc5s_header->sourceL2Id;
|
||||
uint32_t destinationL2Id = pc5s_header->destinationL2Id;
|
||||
pdcp_data_req (
|
||||
&ctxt,
|
||||
SRB_FLAG_NO,
|
||||
@@ -768,9 +782,11 @@ void pdcp_fifo_read_input_sdus_frompc5s (const protocol_ctxt_t *const ctxt_pP)
|
||||
pc5s_header->data_size,
|
||||
(unsigned char *)receive_buf,
|
||||
PDCP_TRANSMISSION_MODE_DATA,
|
||||
&pc5s_header->sourceL2Id,
|
||||
&pc5s_header->destinationL2Id
|
||||
&sourceL2Id,
|
||||
&destinationL2Id
|
||||
);
|
||||
pc5s_header->sourceL2Id = sourceL2Id;
|
||||
pc5s_header->destinationL2Id=destinationL2Id;
|
||||
}
|
||||
} /* end of !ctxt.enb_flag */
|
||||
|
||||
|
||||
@@ -2969,6 +2969,12 @@ int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize = siWindowLength_int[sib1->si_WindowLength];
|
||||
LOG_I( RRC, "[FRAME unknown][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB1 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
|
||||
ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
|
||||
/* pointers to SIperiod inthe Info struct points to a packed structure
|
||||
* Using these possibly unaligned pointers in a function call may trigger alignment errors at run time and
|
||||
* gcc, from v9, now warns about it. fix these warnings by removing the indirection on data
|
||||
* Not sure if SiPeriod can be modified, reassign after function call for security
|
||||
*/
|
||||
uint16_t Aligned_SIperiod = UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod;
|
||||
rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
|
||||
(LTE_RadioResourceConfigCommonSIB_t *)NULL,
|
||||
(struct LTE_PhysicalConfigDedicated *)NULL,
|
||||
@@ -2981,7 +2987,7 @@ int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,
|
||||
UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config,
|
||||
(LTE_MobilityControlInfo_t *) NULL,
|
||||
&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize,
|
||||
&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod ,
|
||||
&Aligned_SIperiod,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -2995,6 +3001,7 @@ int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,
|
||||
(struct LTE_NonMBSFN_SubframeConfig_r14 *)NULL,
|
||||
(LTE_MBSFN_AreaInfoList_r9_t *)NULL
|
||||
);
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod=Aligned_SIperiod;
|
||||
LOG_I(RRC,"Setting SIStatus bit 0 to 1\n");
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus = 1;
|
||||
UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIB1systemInfoValueTag = sib1->systemInfoValueTag;
|
||||
|
||||
@@ -376,7 +376,7 @@ typedef struct UE_RRC_INFO_s {
|
||||
uint32_t N310_cnt;
|
||||
uint32_t N311_cnt;
|
||||
rnti_t rnti;
|
||||
} __attribute__ ((__packed__)) __attribute__ ((aligned (1))) UE_RRC_INFO;
|
||||
} __attribute__ ((__packed__)) UE_RRC_INFO;
|
||||
|
||||
typedef struct UE_S_TMSI_s {
|
||||
boolean_t presence;
|
||||
|
||||
Reference in New Issue
Block a user