SCTP assoc_id: Make it sctp_assoc_t, project-wide
This commit is contained in:
@@ -115,7 +115,7 @@ typedef struct m3ap_MCE_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -312,7 +312,7 @@ int m2ap_eNB_generate_m2_setup_request(
|
||||
//}
|
||||
|
||||
//int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
// uint32_t assoc_id,
|
||||
// sctp_assoc_t assoc_id,
|
||||
// M2AP_Cause_PR cause_type,
|
||||
// long cause_value,
|
||||
// long time_to_wait)
|
||||
|
||||
@@ -69,9 +69,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,13 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MCE_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* __M3AP_MCE_HANDLER__H__ */
|
||||
|
||||
@@ -57,11 +57,8 @@
|
||||
|
||||
extern m3ap_setup_req_t * m3ap_mce_data_g;
|
||||
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
// LOG_W(M3AP, "MCE_handle_MBMS_SESSION_START_REQUEST assoc_id %d\n",assoc_id);
|
||||
//
|
||||
MessageDef *message_p;
|
||||
@@ -212,11 +209,8 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MCE_handle_MBMS_SESSION_STOP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -317,10 +311,7 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_
|
||||
/*
|
||||
* Session Update
|
||||
*/
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MCE_handle_MBMS_SESSION_UPDATE_REQUEST assoc_id %d\n",assoc_id);
|
||||
@@ -653,10 +644,7 @@ int MCE_send_M3_SETUP_REQUEST(m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t *
|
||||
|
||||
|
||||
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
|
||||
LOG_D(M3AP, "MCE_handle_M3_SETUP_RESPONSE\n");
|
||||
@@ -700,15 +688,8 @@ int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
}
|
||||
|
||||
// SETUP FAILURE
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
LOG_E(M3AP, "MCE_handle_M3_SETUP_FAILURE\n");
|
||||
return 0;
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_E(M3AP, "MCE_handle_M3_SETUP_FAILURE\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -37,10 +37,7 @@
|
||||
* Session Start
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_START_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_send_MBMS_SESSION_START_RESPONSE(instance_t instance, m3ap_session_start_resp_t * m3ap_session_start_resp);
|
||||
int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_failure_t * m3ap_session_start_failure);
|
||||
|
||||
@@ -48,18 +45,12 @@ int MCE_send_MBMS_SESSION_START_FAILURE(instance_t instance, m3ap_session_start_
|
||||
* Session Stop
|
||||
*/
|
||||
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_STOP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Session Update
|
||||
*/
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MCE_send_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, m3ap_mbms_session_update_resp_t * m3ap_mbms_session_update_resp);
|
||||
int MCE_send_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, m3ap_mbms_session_update_failure_t * m3ap_mbms_session_update_failure);
|
||||
@@ -75,43 +66,25 @@ int MCE_send_MBMS_SESSION_STOP_RESPONSE(instance_t instance, m3ap_session_start_
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int MCE_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_send_RESET_ACKKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
int MCE_send_RESET(instance_t instance, M3AP_Reset_t *Reset);
|
||||
int MCE_handle_RESET_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_RESET_ACKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* M3AP Setup
|
||||
*/
|
||||
int MCE_send_M3_SETUP_REQUEST( m3ap_MCE_instance_t *instance_p, m3ap_MCE_data_t *m3ap_MCE_data_p);
|
||||
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_M3_SETUP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MCE_handle_M3_SETUP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Error Indication
|
||||
*/
|
||||
int MCE_send_ERROR_INDICATION(instance_t instance, M3AP_M3AP_PDU_t *pdu_p);
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
|
||||
|
||||
int MCE_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
#endif /* M3AP_MCE_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m3ap_MCE_data_s temp;
|
||||
struct m3ap_MCE_data_s *found;
|
||||
|
||||
@@ -46,8 +46,6 @@ m3ap_MCE_data_t* m3ap_is_MCE_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m3ap_MCE_data_t* m3ap_is_MCE_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m3ap_MCE_data_s *m3ap_get_MCE(m3ap_MCE_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M3AP_MCE_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -115,7 +115,7 @@ typedef struct m3ap_MME_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Nid cells */
|
||||
uint32_t Nid_cell[MAX_NUM_CCs];
|
||||
|
||||
@@ -314,7 +314,7 @@ int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MC
|
||||
}
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait)
|
||||
|
||||
@@ -38,7 +38,7 @@ int m2ap_MCE_generate_m2_setup_request(m2ap_MCE_instance_t *instance_p,
|
||||
int m2ap_MCE_generate_m2_setup_response(m2ap_MCE_instance_t *instance_p, m2ap_MCE_data_t *m2ap_MCE_data_p);
|
||||
|
||||
int m2ap_MCE_generate_m2_setup_failure(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
sctp_assoc_t assoc_id,
|
||||
M2AP_Cause_PR cause_type,
|
||||
long cause_value,
|
||||
long time_to_wait);
|
||||
|
||||
@@ -68,9 +68,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_MME_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,13 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_MME_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* M3AP_MME_HANDLERS_H_ */
|
||||
|
||||
@@ -61,8 +61,9 @@ uint8_t m3ap_start_message[] = {
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id*/,m3ap_session_start_req_t* m3ap_session_start_req){
|
||||
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance /*, sctp_assoc_t assoc_id*/,
|
||||
m3ap_session_start_req_t *m3ap_session_start_req)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
//module_id_t enb_mod_idP=0;
|
||||
@@ -239,13 +240,10 @@ int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*, uint32_t assoc_id
|
||||
m3ap_MME_itti_send_sctp_data_req(instance, m3ap_mme_data_from_mce->assoc_id, buffer, len, 0);
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
// AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MME_handle_MBMS_SESSION_START_RESPONSE\n");
|
||||
|
||||
@@ -300,12 +298,9 @@ int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
// assoc_id,ENB_MODULE_ID_TO_INSTANCE(assoc_id));
|
||||
itti_send_msg_to_task(TASK_MME_APP, ENB_MODULE_ID_TO_INSTANCE(assoc_id), msg_g);
|
||||
return 0;
|
||||
|
||||
}
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -370,10 +365,8 @@ int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance, m3ap_session_stop_re
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "eNB_handle_MBMS_SESSION_STOP_RESPONSE\n");
|
||||
|
||||
@@ -432,12 +425,8 @@ int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_STOP_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -456,19 +445,14 @@ int MME_send_RESET(instance_t instance, m3ap_reset_t * m3ap_reset) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
int MME_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -479,10 +463,7 @@ int MME_send_RESET_ACKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *Res
|
||||
/*
|
||||
* M3 Setup
|
||||
*/
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_D(M2AP, "MCE_handle_M3_SETUP_REQUEST assoc_id %d\n",assoc_id);
|
||||
|
||||
@@ -632,8 +613,9 @@ int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*uint32_t assoc_id,*/
|
||||
m3ap_setup_resp_t *m3ap_setup_resp) {
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/
|
||||
m3ap_setup_resp_t *m3ap_setup_resp)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
M3AP_M3SetupResponse_t *out;
|
||||
M3AP_M3SetupResponseIEs_t *ie;
|
||||
@@ -774,19 +756,16 @@ int MME_send_M3_SETUP_FAILURE(instance_t instance,m3ap_setup_failure_t* m3ap_set
|
||||
* MME Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
int MME_handle_MME_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -795,11 +774,8 @@ int MME_handle_MME_CONFIGURATION_UPDATE_ACKNOWLEDGE(instance_t instance,
|
||||
* MCE Configuration Update
|
||||
*/
|
||||
|
||||
|
||||
int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
@@ -812,10 +788,8 @@ int MME_handle_MCE_CONFIGURATION_UPDATE(instance_t instance,
|
||||
* Error Indication
|
||||
*/
|
||||
|
||||
int MME_handle_ERROR_INDICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu) {
|
||||
int MME_handle_ERROR_INDICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
|
||||
@@ -1003,12 +977,8 @@ int MME_send_MBMS_SESSION_UPDATE_REQUEST(instance_t instance, m3ap_mbms_session_
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
//AssertFatal(1==0,"Not implemented yet\n");
|
||||
LOG_D(M3AP, "MME_handle_MBMS_SESSION_UPDATE_RESPONSE\n");
|
||||
|
||||
@@ -1067,30 +1037,18 @@ int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SERVICE_COUNTING_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -1101,9 +1059,10 @@ int MME_handle_MBMS_SESSION_COUNTING_FAILURE(instance_t instance,
|
||||
*/
|
||||
|
||||
int MME_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
sctp_assoc_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
@@ -1112,10 +1071,8 @@ int MME_handle_MBMS_SESSION_COUNTING_RESULTS_REPORT(instance_t instance,
|
||||
/*
|
||||
* Overload Notification
|
||||
*/
|
||||
int MME_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu){
|
||||
int MME_handle_MBMS_OVERLOAD_NOTIFICATION(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu)
|
||||
{
|
||||
AssertFatal(1==0,"Not implemented yet\n");
|
||||
|
||||
}
|
||||
|
||||
@@ -35,75 +35,45 @@
|
||||
/*
|
||||
* MBMS Session start
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance/*,
|
||||
uint32_t assoc_id*/,m3ap_session_start_req_t* m3ap_session_start_req);
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_send_MBMS_SESSION_START_REQUEST(instance_t instance,
|
||||
/*sctp_assoc_t assoc_id,*/
|
||||
m3ap_session_start_req_t *m3ap_session_start_req);
|
||||
int MME_handle_MBMS_SESSION_START_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_MBMS_SESSION_START_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
/*
|
||||
* MBMS Session stop
|
||||
*/
|
||||
int MME_send_MBMS_SESSION_STOP_REQUEST(instance_t instance,
|
||||
m3ap_session_stop_req_t* m3ap_session_stop_req);
|
||||
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_MBMS_SESSION_STOP_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Update
|
||||
*/
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_RESPONSE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_MBMS_SESSION_UPDATE_FAILURE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/*
|
||||
* Reset
|
||||
*/
|
||||
int MME_send_RESET(instance_t instance, m3ap_reset_t * m3ap_reset);
|
||||
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_RESET_ACKKNOWLEDGE(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_handle_RESET(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_handle_RESET(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
int MME_send_RESET_ACKNOWLEDGE(instance_t instance, M3AP_ResetAcknowledge_t *ResetAcknowledge);
|
||||
|
||||
/*
|
||||
* M3AP Setup
|
||||
*/
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance,
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance,/*uint32_t assoc_id,*/ m3ap_setup_resp_t *m3ap_setup_resp);
|
||||
|
||||
int MME_send_M3_SETUP_FAILURE(instance_t instance, /*uint32_t assoc_id*/ m3ap_setup_failure_t * m3ap_setup_failure);
|
||||
|
||||
|
||||
|
||||
int MME_handle_M3_SETUP_REQUEST(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
int MME_send_M3_SETUP_RESPONSE(instance_t instance, /*sctp_assoc_t assoc_id,*/ m3ap_setup_resp_t *m3ap_setup_resp);
|
||||
|
||||
int MME_send_M3_SETUP_FAILURE(instance_t instance, /*sctp_assoc_t assoc_id*/ m3ap_setup_failure_t *m3ap_setup_failure);
|
||||
|
||||
#endif /* M3AP_MME_INTERFACE_MANAGEMENT_H_ */
|
||||
|
||||
|
||||
@@ -122,9 +122,7 @@ printf("---------------------------------------------\n");
|
||||
}
|
||||
}
|
||||
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id)
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct m3ap_MME_data_s temp;
|
||||
struct m3ap_MME_data_s *found;
|
||||
|
||||
@@ -47,8 +47,6 @@ m3ap_MME_data_t* m3ap_is_MME_assoc_id_in_list(uint32_t sctp_assoc_id);
|
||||
|
||||
m3ap_MME_data_t* m3ap_is_MME_pci_in_list (const uint32_t pci);
|
||||
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id);
|
||||
struct m3ap_MME_data_s *m3ap_get_MME(m3ap_MME_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
#endif /* __M3AP_MME_MANAGEMENT_PROCEDURES__H__ */
|
||||
|
||||
@@ -74,30 +74,15 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
typedef int (*m3ap_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_MCE_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
typedef int (*m3ap_MCE_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*m3ap_MME_message_decoded_callback)(
|
||||
instance_t instance,
|
||||
uint32_t assocId,
|
||||
uint32_t stream,
|
||||
M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
|
||||
typedef int (*m3ap_MME_message_decoded_callback)(instance_t instance, sctp_assoc_t assoc_id, uint32_t stream, M3AP_M3AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Encode a successfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
|
||||
@@ -69,9 +69,11 @@ static char *m3ap_direction_String[] = {
|
||||
return(m3ap_direction_String[m3ap_dir]);
|
||||
}
|
||||
|
||||
|
||||
int m3ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length)
|
||||
int m3ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length)
|
||||
{
|
||||
M3AP_M3AP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -33,11 +33,14 @@
|
||||
|
||||
//void m3ap_handle_m2_setup_message(m2ap_eNB_instance_t *instance_p, m2ap_eNB_data_t *eNB_desc_p, int sctp_shutdown);
|
||||
|
||||
//int m3ap_eNB_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
//int m3ap_eNB_handle_message(instance_t instance, sctp_assoc_t assoc_id, int32_t stream,
|
||||
//const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_handle_message(instance_t instance, uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
|
||||
int m3ap_handle_message(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
int32_t stream,
|
||||
const uint8_t *const data,
|
||||
const uint32_t data_length);
|
||||
|
||||
#endif /* M2AP_MCE_HANDLERS_H_ */
|
||||
|
||||
@@ -30,8 +30,11 @@
|
||||
|
||||
#include "m3ap_itti_messaging.h"
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -51,7 +54,7 @@ void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
@@ -63,9 +66,11 @@ void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t asso
|
||||
itti_send_msg_to_task(TASK_SCTP, instance, message_p);
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -83,7 +88,7 @@ void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uin
|
||||
}
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -29,18 +29,21 @@
|
||||
#ifndef M3AP_MCE_ITTI_MESSAGING_H_
|
||||
#define M3AP_MCE_ITTI_MESSAGING_H_
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void m3ap_MCE_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
void m3ap_MCE_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
|
||||
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id);
|
||||
void m3ap_MME_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -127,11 +127,7 @@ extern int asn1_xer_print;
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*ngap_message_decoded_callback)(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu
|
||||
);
|
||||
typedef int (*ngap_message_decoded_callback)(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
|
||||
@@ -203,7 +203,7 @@ typedef struct ngap_gNB_amf_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* This is served PLMN IDs communicated to the AMF via an index over the
|
||||
* MCC/MNC array in ngap_gNB_instance */
|
||||
|
||||
@@ -105,10 +105,8 @@ void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shut
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_NGSetupFailure_t *container;
|
||||
NGAP_NGSetupFailureIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -142,10 +140,8 @@ int ngap_gNB_handle_ng_setup_failure(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_setup_response(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_NGSetupResponse_t *container;
|
||||
NGAP_NGSetupResponseIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -297,12 +293,8 @@ int ngap_gNB_handle_ng_setup_response(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
NGAP_ErrorIndication_t *container;
|
||||
NGAP_ErrorIndicationIEs_t *ie;
|
||||
ngap_gNB_amf_data_t *amf_desc_p;
|
||||
@@ -678,7 +670,7 @@ int ngap_gNB_handle_error_indication(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ngap_gNB_handle_initial_context_request(uint32_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
static int ngap_gNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
@@ -838,10 +830,8 @@ static int ngap_gNB_handle_initial_context_request(uint32_t assoc_id, uint32_t s
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
uint64_t amf_ue_ngap_id;
|
||||
@@ -906,11 +896,9 @@ int ngap_gNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_pdusession_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
// NGAP_AMF_UE_NGAP_ID_t amf_ue_ngap_id;
|
||||
static int ngap_gNB_handle_pdusession_setup_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// NGAP_AMF_UE_NGAP_ID_t amf_ue_ngap_id;
|
||||
uint64_t amf_ue_ngap_id;
|
||||
NGAP_RAN_UE_NGAP_ID_t ran_ue_ngap_id;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
@@ -989,12 +977,8 @@ int ngap_gNB_handle_pdusession_setup_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
ngap_gNB_instance_t *ngap_gNB_instance = NULL;
|
||||
NGAP_Paging_t *container;
|
||||
@@ -1082,7 +1066,7 @@ int ngap_gNB_handle_paging(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
static int ngap_gNB_handle_pdusession_modify_request(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
NGAP_PDUSessionResourceModifyRequest_t *container;
|
||||
@@ -1176,11 +1160,8 @@ static int ngap_gNB_handle_pdusession_modify_request(uint32_t assoc_id, uint32_t
|
||||
}
|
||||
|
||||
// handle pdu session release command and send it to rrc_end
|
||||
static
|
||||
int ngap_gNB_handle_pdusession_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_pdusession_release_command(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
ngap_gNB_amf_data_t *amf_desc_p = NULL;
|
||||
NGAP_PDUSessionResourceReleaseCommand_t *container;
|
||||
@@ -1263,29 +1244,21 @@ int ngap_gNB_handle_pdusession_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
static int ngap_gNB_handle_ng_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu) {
|
||||
|
||||
static int ngap_gNB_handle_ng_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
// TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int ngap_gNB_handle_ng_ENDC_pdusession_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu){
|
||||
|
||||
LOG_W(NGAP, "Implementation of NGAP Pdusession Modification confirm handler is pending...\n");
|
||||
static int ngap_gNB_handle_ng_ENDC_pdusession_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
LOG_W(NGAP, "Implementation of NGAP Pdusession Modification confirm handler is pending...\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1347,7 +1320,7 @@ const ngap_message_decoded_callback ngap_messages_callback[][3] = {
|
||||
|
||||
};
|
||||
|
||||
int ngap_gNB_handle_message(uint32_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
int ngap_gNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
{
|
||||
NGAP_NGAP_PDU_t pdu;
|
||||
int ret;
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
|
||||
void ngap_handle_ng_setup_message(ngap_gNB_amf_data_t *amf_desc_p, int sctp_shutdown);
|
||||
|
||||
int ngap_gNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int ngap_gNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length);
|
||||
|
||||
#endif /* NGAP_GNB_HANDLERS_H_ */
|
||||
|
||||
@@ -31,8 +31,11 @@
|
||||
|
||||
#include "ngap_gNB_itti_messaging.h"
|
||||
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -66,7 +69,7 @@ void ngap_gNB_itti_send_nas_downlink_ind(instance_t instance, uint32_t gNB_ue_ng
|
||||
itti_send_msg_to_task(TASK_RRC_GNB, instance, message_p);
|
||||
}
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -30,13 +30,14 @@
|
||||
#ifndef NGAP_GNB_ITTI_MESSAGING_H_
|
||||
#define NGAP_GNB_ITTI_MESSAGING_H_
|
||||
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
void ngap_gNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void ngap_gNB_itti_send_nas_downlink_ind(instance_t instance, uint32_t gNB_ue_ngap_id, uint8_t *nas_pdu, uint32_t nas_pdu_length);
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance,
|
||||
int32_t assoc_id);
|
||||
|
||||
void ngap_gNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
#endif /* NGAP_GNB_ITTI_MESSAGING_H_ */
|
||||
|
||||
@@ -89,9 +89,7 @@ void ngap_gNB_insert_new_instance(ngap_gNB_instance_t *new_instance_p)
|
||||
new_instance_p, ngap_gNB_entries);
|
||||
}
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(
|
||||
ngap_gNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id)
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(ngap_gNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct ngap_gNB_amf_data_s temp;
|
||||
struct ngap_gNB_amf_data_s *found;
|
||||
|
||||
@@ -31,9 +31,7 @@
|
||||
#ifndef NGAP_GNB_MANAGEMENT_PROCEDURES_H_
|
||||
#define NGAP_GNB_MANAGEMENT_PROCEDURES_H_
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(
|
||||
ngap_gNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id);
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF(ngap_gNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
struct ngap_gNB_amf_data_s *ngap_gNB_get_AMF_from_instance(ngap_gNB_instance_t *instance_p);
|
||||
|
||||
|
||||
@@ -292,9 +292,7 @@ int ngap_gNB_handle_nas_first_req(instance_t instance, ngap_nas_first_req_t *UEf
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int ngap_gNB_handle_nas_downlink(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
|
||||
|
||||
@@ -31,10 +31,7 @@
|
||||
#ifndef NGAP_GNB_NAS_PROCEDURES_H_
|
||||
#define NGAP_GNB_NAS_PROCEDURES_H_
|
||||
|
||||
int ngap_gNB_handle_nas_downlink(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
int ngap_gNB_nas_uplink(instance_t instance, ngap_uplink_nas_t *ngap_uplink_nas_p);
|
||||
|
||||
|
||||
@@ -45,17 +45,13 @@
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
//TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ngap_gNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
/* We received Overload stop message, meaning that the AMF is no more
|
||||
* overloaded. This is an empty message, with only message header and no
|
||||
|
||||
@@ -36,9 +36,7 @@
|
||||
// int ngap_gNB_handle_overload_start(gNB_amf_desc_t *gNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct ngap_message_s *message_p);
|
||||
int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
/**
|
||||
* \brief Handle an overload stop message
|
||||
@@ -46,8 +44,6 @@ int ngap_gNB_handle_overload_start(uint32_t assoc_id,
|
||||
// int ngap_gNB_handle_overload_stop(gNB_amf_desc_t *gNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct ngap_message_s *message_p);
|
||||
int ngap_gNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
#endif /* NGAP_GNB_OVERLOAD_H_ */
|
||||
|
||||
@@ -45,18 +45,13 @@
|
||||
#include "ngap_gNB_itti_messaging.h"
|
||||
#include "ngap_gNB_management_procedures.h"
|
||||
|
||||
|
||||
int ngap_gNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu)
|
||||
int ngap_gNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu)
|
||||
{
|
||||
//TODO
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ngap_gNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *message_p)
|
||||
int ngap_gNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *message_p)
|
||||
{
|
||||
// NGAP_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
//
|
||||
|
||||
@@ -30,12 +30,8 @@
|
||||
#ifndef NGAP_GNB_TRACE_H_
|
||||
#define NGAP_GNB_TRACE_H_
|
||||
|
||||
int ngap_gNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
int ngap_gNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
NGAP_NGAP_PDU_t *pdu);
|
||||
int ngap_gNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, NGAP_NGAP_PDU_t *pdu);
|
||||
|
||||
#endif /* NGAP_GNB_TRACE_H_ */
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "oai_asn1.h"
|
||||
#include "netinet/in.h"
|
||||
#include "netinet/sctp.h"
|
||||
|
||||
#include "S1AP_ProtocolIE-Field.h"
|
||||
#include "S1AP_S1AP-PDU.h"
|
||||
@@ -85,11 +87,7 @@ extern int asn1_xer_print;
|
||||
} while(0)
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*s1ap_message_decoded_callback)(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu
|
||||
);
|
||||
typedef int (*s1ap_message_decoded_callback)(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
|
||||
@@ -156,7 +156,7 @@ typedef struct s1ap_eNB_mme_data_s {
|
||||
uint16_t cnx_id;
|
||||
|
||||
/* SCTP association id */
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* This is served PLMN IDs communicated to the MME via an index over the
|
||||
* MCC/MNC array in s1ap_eNB_instance */
|
||||
|
||||
@@ -50,64 +50,28 @@
|
||||
#include "assertions.h"
|
||||
#include "conversions.h"
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_setup_response(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_setup_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_modify_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_e_rab_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
static int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
static int s1ap_eNB_snd_s1_setup_request(
|
||||
s1ap_eNB_instance_t *instance_p,
|
||||
@@ -228,8 +192,8 @@ void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shut
|
||||
}
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t *const data, const uint32_t data_length) {
|
||||
int s1ap_eNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length)
|
||||
{
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
int ret;
|
||||
DevAssert(data != NULL);
|
||||
@@ -268,10 +232,8 @@ int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_setup_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_S1SetupFailure_t *container;
|
||||
S1AP_S1SetupFailureIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -361,10 +323,8 @@ int s1ap_eNB_handle_s1_setup_failure(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_setup_response(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_S1SetupResponse_t *container;
|
||||
S1AP_S1SetupResponseIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -478,11 +438,8 @@ int s1ap_eNB_handle_s1_setup_response(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_error_indication(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_ErrorIndication_t *container;
|
||||
S1AP_ErrorIndicationIEs_t *ie;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
@@ -817,11 +774,8 @@ int s1ap_eNB_handle_error_indication(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_initial_context_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -987,11 +941,8 @@ int s1ap_eNB_handle_initial_context_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_ue_context_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1078,13 +1029,10 @@ int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
|
||||
S1AP_ERROR( "Mandatory Element Nothing : UEContextReleaseCommand(UE_S1AP_IDs)\n" );
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_setup_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
S1AP_MME_UE_S1AP_ID_t mme_ue_s1ap_id;
|
||||
S1AP_ENB_UE_S1AP_ID_t enb_ue_s1ap_id;
|
||||
@@ -1204,10 +1152,8 @@ int s1ap_eNB_handle_e_rab_setup_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_paging(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1374,10 +1320,8 @@ int s1ap_eNB_handle_paging(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_modify_request(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i, nb_of_e_rabs_failed;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -1510,10 +1454,8 @@ int s1ap_eNB_handle_e_rab_modify_request(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
// handle e-rab release command and send it to rrc_end
|
||||
static
|
||||
int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_e_rab_release_command(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int i;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
@@ -1614,10 +1556,8 @@ int s1ap_eNB_handle_e_rab_release_command(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_ack(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
s1ap_eNB_ue_context_t *ue_desc_p = NULL;
|
||||
MessageDef *message_p = NULL;
|
||||
@@ -1776,10 +1716,8 @@ int s1ap_eNB_handle_s1_path_switch_request_ack(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu) {
|
||||
static int s1ap_eNB_handle_s1_path_switch_request_failure(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
S1AP_PathSwitchRequestFailure_t *pathSwitchRequestFailure;
|
||||
S1AP_PathSwitchRequestFailureIEs_t *ie;
|
||||
@@ -1843,12 +1781,9 @@ int s1ap_eNB_handle_s1_path_switch_request_failure(uint32_t assoc_
|
||||
return 0;
|
||||
}
|
||||
|
||||
static
|
||||
int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu){
|
||||
|
||||
LOG_I(S1AP, "Received S1AP E-RAB Modification confirm message \n");
|
||||
static int s1ap_eNB_handle_s1_ENDC_e_rab_modification_confirm(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
LOG_I(S1AP, "Received S1AP E-RAB Modification confirm message \n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
void s1ap_handle_s1_setup_message(s1ap_eNB_mme_data_t *mme_desc_p, int sctp_shutdown);
|
||||
|
||||
int s1ap_eNB_handle_message(uint32_t assoc_id, int32_t stream,
|
||||
const uint8_t * const data, const uint32_t data_length);
|
||||
int s1ap_eNB_handle_message(sctp_assoc_t assoc_id, int32_t stream, const uint8_t *const data, const uint32_t data_length);
|
||||
|
||||
#endif /* S1AP_ENB_HANDLERS_H_ */
|
||||
|
||||
@@ -23,8 +23,11 @@
|
||||
|
||||
#include "s1ap_eNB_itti_messaging.h"
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
void s1ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_req_t *sctp_data_req;
|
||||
@@ -63,7 +66,7 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
|
||||
itti_send_msg_to_task(TASK_RRC_ENB, instance, message_p);
|
||||
}
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_close_association(instance_t instance, int32_t assoc_id)
|
||||
void s1ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id)
|
||||
{
|
||||
MessageDef *message_p = NULL;
|
||||
sctp_close_association_t *sctp_close_association_p = NULL;
|
||||
|
||||
@@ -22,8 +22,14 @@
|
||||
#ifndef S1AP_ENB_ITTI_MESSAGING_H_
|
||||
#define S1AP_ENB_ITTI_MESSAGING_H_
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_data_req(instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
|
||||
uint16_t ue_initial_id,
|
||||
@@ -31,8 +37,6 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
|
||||
uint8_t *nas_pdu,
|
||||
uint32_t nas_pdu_length);
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_close_association(instance_t instance,
|
||||
int32_t assoc_id);
|
||||
|
||||
void s1ap_eNB_itti_send_sctp_close_association(instance_t instance, sctp_assoc_t assoc_id);
|
||||
|
||||
#endif /* S1AP_ENB_ITTI_MESSAGING_H_ */
|
||||
|
||||
@@ -89,9 +89,7 @@ void s1ap_eNB_insert_new_instance(s1ap_eNB_instance_t *new_instance_p)
|
||||
new_instance_p, s1ap_eNB_entries);
|
||||
}
|
||||
|
||||
struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME(
|
||||
s1ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id)
|
||||
struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME(s1ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id)
|
||||
{
|
||||
struct s1ap_eNB_mme_data_s temp;
|
||||
struct s1ap_eNB_mme_data_s *found;
|
||||
|
||||
@@ -22,9 +22,7 @@
|
||||
#ifndef S1AP_ENB_MANAGEMENT_PROCEDURES_H_
|
||||
#define S1AP_ENB_MANAGEMENT_PROCEDURES_H_
|
||||
|
||||
struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME(
|
||||
s1ap_eNB_instance_t *instance_p,
|
||||
int32_t assoc_id, uint16_t cnx_id);
|
||||
struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME(s1ap_eNB_instance_t *instance_p, sctp_assoc_t assoc_id, uint16_t cnx_id);
|
||||
|
||||
struct s1ap_eNB_mme_data_s *s1ap_eNB_get_MME_from_instance(s1ap_eNB_instance_t *instance_p);
|
||||
|
||||
|
||||
@@ -316,9 +316,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
int s1ap_eNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p = NULL;
|
||||
|
||||
@@ -22,10 +22,7 @@
|
||||
#ifndef S1AP_ENB_NAS_PROCEDURES_H_
|
||||
#define S1AP_ENB_NAS_PROCEDURES_H_
|
||||
|
||||
int s1ap_eNB_handle_nas_downlink(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
int s1ap_eNB_handle_nas_downlink(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_p);
|
||||
|
||||
|
||||
@@ -43,9 +43,7 @@
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
int s1ap_eNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
S1AP_OverloadStart_t *container;
|
||||
@@ -88,9 +86,7 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
int s1ap_eNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
/* We received Overload stop message, meaning that the MME is no more
|
||||
* overloaded. This is an empty message, with only message header and no
|
||||
|
||||
@@ -28,9 +28,7 @@
|
||||
// int s1ap_eNB_handle_overload_start(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
int s1ap_eNB_handle_overload_start(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
/**
|
||||
* \brief Handle an overload stop message
|
||||
@@ -38,8 +36,6 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
// int s1ap_eNB_handle_overload_stop(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
int s1ap_eNB_handle_overload_stop(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* S1AP_ENB_OVERLOAD_H_ */
|
||||
|
||||
@@ -101,9 +101,7 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
|
||||
length, ue_desc_p->tx_stream);
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
int s1ap_eNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1AP_TraceStart_t *container;
|
||||
S1AP_TraceStartIEs_t *ie;
|
||||
@@ -142,9 +140,7 @@ int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *message_p)
|
||||
int s1ap_eNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *message_p)
|
||||
{
|
||||
// S1AP_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
//
|
||||
|
||||
@@ -32,15 +32,11 @@
|
||||
// int s1ap_eNB_handle_trace_start(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
int s1ap_eNB_handle_trace_start(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
// int s1ap_eNB_handle_deactivate_trace(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
int s1ap_eNB_handle_deactivate_trace(sctp_assoc_t assoc_id, uint32_t stream, S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* S1AP_ENB_TRACE_H_ */
|
||||
|
||||
@@ -19,11 +19,13 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
#include "queue.h"
|
||||
|
||||
#ifndef SCTP_ENB_DEFS_H_
|
||||
#define SCTP_ENB_DEFS_H_
|
||||
|
||||
#include "queue.h"
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/sctp.h>
|
||||
|
||||
typedef struct sctp_queue_item_s {
|
||||
/* Pair of stream on which we received this packet */
|
||||
uint16_t local_stream;
|
||||
@@ -32,7 +34,7 @@ typedef struct sctp_queue_item_s {
|
||||
uint16_t remote_port;
|
||||
/* Remote address */
|
||||
uint32_t remote_addr;
|
||||
uint32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* PPID used for the packet */
|
||||
uint32_t ppid;
|
||||
@@ -52,7 +54,7 @@ typedef struct {
|
||||
/* Unique SCTP association ID (Local to host), used to distinguish
|
||||
* associations between MME and eNB.
|
||||
*/
|
||||
int32_t assoc_id;
|
||||
sctp_assoc_t assoc_id;
|
||||
|
||||
/* Current remote port used for transmission */
|
||||
uint16_t remote_port;
|
||||
|
||||
@@ -38,9 +38,12 @@ int sctp_itti_send_init_msg_multi_cnf(task_id_t task_id, instance_t instance, in
|
||||
return itti_send_msg_to_task(task_id, instance, message_p);
|
||||
}
|
||||
|
||||
int sctp_itti_send_new_message_ind(task_id_t task_id, instance_t instance,
|
||||
uint32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream)
|
||||
int sctp_itti_send_new_message_ind(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_data_ind_t *sctp_data_ind_p;
|
||||
@@ -61,10 +64,13 @@ int sctp_itti_send_new_message_ind(task_id_t task_id, instance_t instance,
|
||||
return itti_send_msg_to_task(task_id, instance, message_p);
|
||||
}
|
||||
|
||||
int sctp_itti_send_association_resp(task_id_t task_id, instance_t instance,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id, enum sctp_state_e state,
|
||||
uint16_t out_streams, uint16_t in_streams)
|
||||
int sctp_itti_send_association_resp(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint16_t cnx_id,
|
||||
enum sctp_state_e state,
|
||||
uint16_t out_streams,
|
||||
uint16_t in_streams)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_new_association_resp_t *sctp_new_association_resp_p;
|
||||
@@ -82,9 +88,12 @@ int sctp_itti_send_association_resp(task_id_t task_id, instance_t instance,
|
||||
return itti_send_msg_to_task(task_id, instance, message_p);
|
||||
}
|
||||
|
||||
int sctp_itti_send_association_ind(task_id_t task_id, instance_t instance,
|
||||
int32_t assoc_id, uint16_t port,
|
||||
uint16_t out_streams, uint16_t in_streams)
|
||||
int sctp_itti_send_association_ind(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint16_t port,
|
||||
uint16_t out_streams,
|
||||
uint16_t in_streams)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
sctp_new_association_ind_t *sctp_new_association_ind_p;
|
||||
|
||||
@@ -24,18 +24,26 @@
|
||||
|
||||
int sctp_itti_send_init_msg_multi_cnf(task_id_t task_id, instance_t instance, int multi_sd);
|
||||
|
||||
int sctp_itti_send_new_message_ind(task_id_t task_id, instance_t instance,
|
||||
uint32_t assoc_id, uint8_t *buffer,
|
||||
uint32_t buffer_length, uint16_t stream);
|
||||
int sctp_itti_send_new_message_ind(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint8_t *buffer,
|
||||
uint32_t buffer_length,
|
||||
uint16_t stream);
|
||||
|
||||
int sctp_itti_send_association_resp(task_id_t task_id, instance_t instance,
|
||||
int32_t assoc_id,
|
||||
uint16_t cnx_id, enum sctp_state_e state,
|
||||
uint16_t out_streams, uint16_t in_streams);
|
||||
|
||||
int sctp_itti_send_association_ind(task_id_t task_id, instance_t instance,
|
||||
int32_t assoc_id, uint16_t port,
|
||||
uint16_t out_streams, uint16_t in_streams);
|
||||
int sctp_itti_send_association_resp(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint16_t cnx_id,
|
||||
enum sctp_state_e state,
|
||||
uint16_t out_streams,
|
||||
uint16_t in_streams);
|
||||
|
||||
int sctp_itti_send_association_ind(task_id_t task_id,
|
||||
instance_t instance,
|
||||
sctp_assoc_t assoc_id,
|
||||
uint16_t port,
|
||||
uint16_t out_streams,
|
||||
uint16_t in_streams);
|
||||
|
||||
#endif /* SCTP_ITTI_MESSAGING_H_ */
|
||||
|
||||
@@ -77,7 +77,7 @@ typedef struct sctp_cnx_list_elm_s {
|
||||
uint16_t in_streams; ///< Number of input streams negociated for this connection
|
||||
uint16_t out_streams; ///< Number of output streams negotiated for this connection
|
||||
uint16_t ppid; ///< Payload protocol Identifier
|
||||
int32_t assoc_id; ///< SCTP association id for the connection (note4debug host byte order)
|
||||
sctp_assoc_t assoc_id; ///< SCTP association id for the connection (note4debug host byte order)
|
||||
uint32_t messages_recv; ///< Number of messages received on this connection
|
||||
uint32_t messages_sent; ///< Number of messages sent on this connection
|
||||
task_id_t task_id; ///< Task id of the task who asked for this connection
|
||||
@@ -93,7 +93,7 @@ static STAILQ_HEAD(sctp_cnx_list_head, sctp_cnx_list_elm_s) sctp_cnx_list;
|
||||
static uint16_t sctp_nb_cnx = 0;
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
struct sctp_cnx_list_elm_s *sctp_get_cnx(int32_t assoc_id, int sd)
|
||||
struct sctp_cnx_list_elm_s *sctp_get_cnx(sctp_assoc_t assoc_id, int sd)
|
||||
{
|
||||
struct sctp_cnx_list_elm_s *elm;
|
||||
|
||||
@@ -225,7 +225,7 @@ sctp_handle_new_association_req_multi(
|
||||
int ns;
|
||||
int sd;
|
||||
|
||||
int32_t assoc_id = 0;
|
||||
sctp_assoc_t assoc_id = 0;
|
||||
|
||||
struct sctp_cnx_list_elm_s *sctp_cnx = NULL;
|
||||
enum sctp_connection_type_e connection_type = SCTP_TYPE_CLIENT;
|
||||
@@ -362,7 +362,7 @@ sctp_handle_new_association_req(
|
||||
const sctp_new_association_req_t * const sctp_new_association_req_p)
|
||||
{
|
||||
int sd = 0;
|
||||
int32_t assoc_id = 0;
|
||||
sctp_assoc_t assoc_id = 0;
|
||||
|
||||
struct sctp_event_subscribe events={0};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user